datarobot-mlflow 0.1.dev2

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

datarobotmlflow 0.1.dev2

mlflow-integration
Provide means of exporting a model from MLFlow model registry and pushing it to DataRobot model registry
Key-values are created from training parameters, metrics, tags,
and artifacts in the MLflow model.
Setup

Python 3.7 or later
DataRobot 9.0 or later
pip install datarobot-mlflow

if using Azure: pip install "datarobot-mlflow[azure]"



Considerations
This integration library uses an API endpoint under Public Preview.
The DataRobot user owning the API token used below must have:

Enable Extended Compliance Documentation set
Owner or User permission for the DataRobot model package

DataRobot information needed

URL of DataRobot instance, example: https://app.datarobot.com
ID of the model package to receive key-values; example: 64227b4bf82db411c90c3209
API token for DataRobot: export MLOPS_API_TOKEN=<API token from DataRobot Developer Tools>

Local MLflow information needed

MLflow tracking URI; example "file:///Users/me/mlflow/examples/mlruns"
Model name; example "cost-model"
Model version; example "2"

Azure DataBricks MLFlow with Service Principal information needed

MLflow tracking URI; example "azureml://region.api.azureml.ms/mlflow/v1.0/subscriptions/subscription-id/resourceGroups/resource-group-name/providers/Microsoft.MachineLearningServices/workspaces/azure-ml-workspace-name"
Model name; example "cost-model"
Model version; example "2"
Provide service principal details in environment:

export AZURE_TENANT_ID="<tenant-id>"
export AZURE_CLIENT_ID="<client-id>"
export AZURE_CLIENT_SECRET="<secret>"



Example: Import from MLflow
DR_MODEL_ID="<MODEL_PACKAGE_ID>"

env PYTHONPATH=./ \
python datarobot_mlflow/drflow_cli.py \
--mlflow-url http://localhost:8080 \
--mlflow-model cost-model \
--mlflow-model-version 2 \
--dr-model $DR_MODEL_ID \
--dr-url https://app.datarobot.com \
--with-artifacts \
--verbose \
--action sync

Example: validate Azure credentials
export MLOPS_API_TOKEN="n/a" # not used for Azure auth check, but must be present

env PYTHONPATH=./ \
python datarobot_mlflow/drflow_cli.py \
--verbose \
--auth-type azure-service-principal \
--service-provider-type azure-databricks \
--action validate-auth

# example output for missing environment variables:
Required environment variable is not defined: AZURE_TENANT_ID
Required environment variable is not defined: AZURE_CLIENT_ID
Required environment variable is not defined: AZURE_CLIENT_SECRET
Azure AD Service Principal credentials are not valid; check environment variables

# example output for successful authentication:
Azure AD Service Principal credentials are valid for obtaining access token

Actions
The following operations are available for --action:

sync: import parameters, tags, metrics, and artifacts from MLflow model.
list-mlflow-keys: list parameters, tags, metrics, and artifacts in an MLflow model. Requires --mlflow-url, --mlflow-model, and --mlflow-model-version.
validate-auth: see "validate Azure credentials" example above.

Options
The following options can be added to the drflow_cli command line:

--mlflow-url: MLflow Tracking URI
--mlflow-model: MLflow model name
--mlflow-model-version: MLflow model version
--dr-url: Main URL of the DataRobot instance
--dr-model: DataRobot Model Package ID. Registered Model Versions are also supported.
--prefix: a string to prepend to the names of all key-values posted to DataRobot. Default is empty.
--debug: set Python logging level to logging.DEBUG. Default level is logging.WARNING.
--verbose: prints to stdout information about the following:

retrieving model from MLflow; prints model information
setting model data in DataRobot: prints each key-value posted


--with-artifacts: download MLflow model artifacts to /tmp/model
--service-provider-type: service provider to use for validate-auth. Supported values are:

azure-databricks: for Databricks MLflow within Azure


--auth-type: authentication type for validate-auth. Supported values are:

azure-service-principal: for Azure Service Principal

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.