forked from mlrun/mlrun-import-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserving_creator_func.py
30 lines (21 loc) · 1.31 KB
/
serving_creator_func.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import mlrun
import random
def deploy_serving_functions(context, number_of_servings, number_of_models):
project = context.get_project_object()
# Get a list of the logged models
models = project.list_models()
# Create servings
for serving_num in range(number_of_servings):
serving_fn = project.set_function("hub://v2_model_server", f"serving-func{str(serving_num)}", kind="serving", image="mlrun/mlrun")
serving_fn.apply(mlrun.auto_mount())
# Add the models to the serving function's routing spec
for model_num in range(number_of_models):
# Get a random model from the logged models and add it to the serving
random_model = models[random.randint(0, len(models) -1 )]
# serving_fn.add_model(key=random_model.key, model_path=f"store://models/{project.name}/{random_model.key}:latest")
serving_fn.add_model(key=random_model.key, model_path=random_model.uri)
# (OPTIONAL) Create a tracking policy
# tracking_policy = {'default_batch_intervals':"", "default_batch_image":"", "stream_image":"", "default_controller_image":""}
# Enable model monitoring (If you specified tracking_policy, pass it to 'tracking_policy' param)
serving_fn.set_tracking()
serving_fn.deploy()