# Deployments using the registry

To make a deployment that uses the models in the registry, call `mb.get_model`

in your inference function.

## Storing a model in the registry

First, store a model in the registry so your inference function has a model to fetch:

`from sklearn import linear_model`

model = linear_model.LinearRegression()

model.fit([[1], [2], [3]], [2, 4, 6])

# store the model, we'll call it "doubler_model"

mb.add_model("doubler_model", model)

## Fetch the model in your inference function

Now that we have a model in the registry, we can build an inference function that uses it:

`def double_number_example(a: int):`

model = mb.get_model("doubler_model")

return model.predict([[a]])[0]

At inference time the deployment will fetch the model and use it to make a prediction. Models are cached in the deployment so subsequent calls to `get_model`

are instant.

## Deploy

Modelbit automatically detects which Python packages are needed in your the deployment environment using your local Python environment.

Deployments that use `mb.get_model`

should run their inference functions before deploying. These test runs allow `mb.deploy`

to infer Python package dependences based on the models that `mb.get_model`

fetches.

For example, run `double_number_example`

before deploying it and your Python dependencies will be auto-detected:

`double_number_example(5) # make sure it works`

mb.deploy(double_number_example)