It contains CRUD enpoints and other endpoints to manage Machine Learning workflow. A ModelVersion an actual representation of a Machine Learning model and its corresponding experiment information, for instance, MLflow experiment, deployment endpoint or Docker image name. This object is versioned so that the user can decide which version of the model will be deployed, undeployed or even deleted.
As the DELETE endpoint of Model, the DELETE endpoint of ModelVersion ensure that all the related resources are completely deleted. It also receives a paramter entitled
DeleteMode to control how to remove MLflow experiments and/or runs. It uses the same values as Model one.
The operations that are allowed on a ModelVersion are, namely:
- Create a new Docker image. This endpoints has the hability to create a new ModelVersion if there was none.
- Deploy. It deploys a ModelVersion if a Docker image was successfully created. For now, it allows two deployment configurations: Azure Container Instances (ACI) and Azure Kubernetes Service (AKS).
- Undeploy. It undeploys a ModelVersion if it was successfully deployed.
- Inference. It runs a Databricks notebook to create a new MLflow run with a new trained model.
- Job status. It checks the status of the Databricks jobs since the business logic of the previous endpoints is executed asynchronously.