Get monitored deployment
This examples demonstrates how you can get the details of the monitored deployment for a given deployment id by using the model monitoring service of the MLOps API.
You will need the values for the following constants in order to successfully carry out the task. Contact your administrator to obtain deployment specific values.
Constant | Value | Description |
---|---|---|
MLOPS_API_URL | Usually: https://api.mlops.my.domain | Defines the URL for the MLOps Gateway component. |
TOKEN_ENDPOINT_URL | https://mlops.keycloak.domain/auth/realms/[fill-in-realm-name]/protocol/openid-connect/token | Defines the token endpoint URL of the Identity Provider. This uses Keycloak as the Identity Provider. Keycloak Realm should be provided. |
REFRESH_TOKEN | <your-refresh-token> | Defines the user's refresh token |
CLIENT_ID | <your-client-id> | Sets the client id for authentication. This is the client you will be using to connect to MLOps. |
CLIENT_SECRET | <your-client-secret> | Sets the client secret. |
DEPLOYMENT_ID | <your-deployment-id> | Defines a deployment id that the script will be using. |
The following steps demonstrate how you can use the MLOps Python client to get the monitored deployment for a specified deployment id.
Change the values of the following constants in your
GetMonitoredDeployment.py
file as given in the preceding data table.GetMonitoredDeployment.py### Constants
MLOPS_API_URL = <MLOPS_API_URL>
TOKEN_ENDPOINT_URL = <TOKEN_ENDPOINT_URL>
REFRESH_TOKEN = <REFRESH_TOKEN>
CLIENT_ID = <CLIENT_ID>
CLIENT_SECRET = <CLIENT_SECRET>
DEPLOYMENT_ID = <DEPLOYMENT_ID>GetMonitoredDeployment.py### Constants
MLOPS_API_URL = "https://api.mlops.my.domain"
TOKEN_ENDPOINT_URL="https://mlops.keycloak.domain/auth/realms/[fill-in-realm-name]/protocol/openid-connect/token"
REFRESH_TOKEN="<your-refresh-token>"
CLIENT_ID="<your-mlops-client>"
CLIENT_SECRET = "<your-client-secret>"
DEPLOYMENT_ID = "f9fa4db1-2f30-4b10-ace2-f383a9f74880"Run the
GetMonitoredDeployment.py
file.python3 GetMonitoredDeployment.py
This provides the monitored deployment for a given deployment id. This can include deployments created by you or shared with you by other users.
Selected deployment: {'deployment_date': datetime.datetime(2022, 8, 17, 8, 33, 20, tzinfo=tzutc()),
'description': '',
'environment': 'DEV',
'id': 'f9fa4db1-2f30-4b10-ace2-f383a9f74880',
'mode': 'Real Time',
'models': [{'accuracy': 'UNKNOWN',
'average_scoring_requests': 17670,
'drift_status': 'UNKNOWN',
'registered_model_name': 'heart',
'registered_model_version': '1'}],
'name': 'heart',
'problem_type': 'Binary Classification',
'type': 'singleDeployment'}
Deployment details: {'deployment_date': datetime.datetime(2022, 8, 17, 8, 33, 20, tzinfo=tzutc()),
'description': '',
'environment': 'DEV',
'id': 'f9fa4db1-2f30-4b10-ace2-f383a9f74880',
'mode': 'Real Time',
'models': [{'accuracy': 'UNKNOWN',
'average_scoring_requests': 17670,
'drift_status': 'UNKNOWN',
'registered_model_name': 'heart',
'registered_model_version': '1'}],
'name': 'heart',
'problem_type': 'Binary Classification',
'type': 'singleDeployment'}
Example walkthrough
This section provides a walkthrough of the GetMonitoredDeployment.py
file.
Set up the token provider using an existing refresh token and client secret.
List all the monitored deployments of the user by calling the
list_monitored_deployments
endpoint of the model monitoring service.GetMonitoredDeployment.pydeployments: mlops.ApiListMonitoredDeploymentsResponse = (
mlops_client.model_monitoring.monitoring_service.list_monitored_deployments()
)Select the specified deployment from the list of all monitored deployments by using the defined
DEPLOYMENT_ID
.GetMonitoredDeployment.pyfor deployment in deployments.deployment:
if deployment.id == DEPLOYMENT_ID:
selected_deployment = deployment
break
else:
raise LookupError("Requested project not found")
print(f"Selected deployment: {selected_deployment}")Get the monitored deployment by calling the
get_monitored_deployment
endpoint of the model monitoring service.GetMonitoredDeployment.pydeployment: mlops.ApiGetMonitoredDeploymentResponse = (
mlops_client.model_monitoring.monitoring_service.get_monitored_deployment(
selected_deployment.id
)
)
print(f"Deployment details: {deployment.deployment}")
- Submit and view feedback for this page
- Send feedback about H2O MLOps to cloud-feedback@h2o.ai