Registered models
- class datarobot.models.RegisteredModel
A registered model is a logical grouping of model packages (versions) that are related to each other.
- Variables:
id (
str
) – The ID of the registered model.name (
str
) – The name of the registered model.description (
str
) – The description of the registered model.created_at (
str
) – The creation time of the registered model.modified_at (
str
) – The last modification time for the registered model.modified_by (
datarobot.models.model_registry.common.UserMetadata
) – Information on the user who last modified the registered model.target (
Target
) – Information on the target variable.created_by (
datarobot.models.model_registry.common.UserMetadata
) – Information on the creator of the registered model.last_version_num (
int
) – The latest version number associated to this registered model.is_archived (
bool
) – Determines whether the registered model is archived.
- classmethod get(registered_model_id)
Get a registered model by ID.
- Parameters:
registered_model_id (
str
) – ID of the registered model to retrieve- Returns:
registered_model – Registered Model Object
- Return type:
Examples
from datarobot import RegisteredModel registered_model = RegisteredModel.get(registered_model_id='5c939e08962d741e34f609f0') registered_model.id >>>'5c939e08962d741e34f609f0' registered_model.name >>>'My Registered Model'
- classmethod list(limit=100, offset=None, sort_key=None, sort_direction=None, search=None, filters=None)
List all registered models a user can view.
- Parameters:
limit (
Optional[int]
) – Maximum number of registered models to returnoffset (
Optional[int]
) – Number of registered models to skip before returning resultssort_key (
RegisteredModelSortKey
, optional) – Key to order result bysort_direction (
RegisteredModelSortDirection
, optional) – Sort directionsearch (
Optional[str]
) – A term to search for in registered model name, description, or target namefilters (
RegisteredModelListFilters
, optional) – An object containing all filters that you’d like to apply to the resulting list of registered models.
- Returns:
registered_models – A list of registered models user can view.
- Return type:
List[RegisteredModel]
Examples
from datarobot import RegisteredModel registered_models = RegisteredModel.list() >>> [RegisteredModel('My Registered Model'), RegisteredModel('My Other Registered Model')]
from datarobot import RegisteredModel from datarobot.models.model_registry import RegisteredModelListFilters from datarobot.enums import RegisteredModelSortKey, RegisteredModelSortDirection filters = RegisteredModelListFilters(target_type='Regression') registered_models = RegisteredModel.list( filters=filters, sort_key=RegisteredModelSortKey.NAME.value, sort_direction=RegisteredModelSortDirection.DESC.value search='other') >>> [RegisteredModel('My Other Registered Model')]
- classmethod archive(registered_model_id)
Permanently archive a registered model and all of its versions.
- Parameters:
registered_model_id (
str
) – ID of the registered model to be archived- Return type:
None
- classmethod update(registered_model_id, name)
Update the name of a registered model.
- Parameters:
registered_model_id (
str
) – ID of the registered model to be updatedname (
str
) – New name for the registered model
- Returns:
registered_model – Updated registered model object
- Return type:
Retrieve access control information for this registered model.
- Parameters:
offset (
Optional[int]
) – The number of records to skip over. Optional. Default is 0.limit (
Optional[int]
) – The number of records to return. Optional. Default is 100.id (
Optional[str]
) – Return the access control information for a user with this user ID. Optional.
- Return type:
List
[SharingRole
]
Share this registered model or remove access from one or more user(s).
- Parameters:
roles (
List[SharingRole]
) – A list ofSharingRole
instances, each of which references a user and a role to be assigned.- Return type:
None
Examples
>>> from datarobot import RegisteredModel, SharingRole >>> from datarobot.enums import SHARING_ROLE, SHARING_RECIPIENT_TYPE >>> registered_model = RegisteredModel.get('5c939e08962d741e34f609f0') >>> sharing_role = SharingRole( ... role=SHARING_ROLE.CONSUMER, ... recipient_type=SHARING_RECIPIENT_TYPE.USER, ... id='5c939e08962d741e34f609f0', ... can_share=True, ... ) >>> registered_model.share(roles=[sharing_role])
- get_version(version_id)
Retrieve a registered model version.
- Parameters:
version_id (
str
) – The ID of the registered model version to retrieve.- Returns:
registered_model_version – A registered model version object.
- Return type:
Examples
from datarobot import RegisteredModel registered_model = RegisteredModel.get('5c939e08962d741e34f609f0') registered_model_version = registered_model.get_version('5c939e08962d741e34f609f0') >>> RegisteredModelVersion('My Registered Model Version')
- list_versions(filters=None, search=None, sort_key=None, sort_direction=None, limit=None, offset=None)
Retrieve a list of registered model versions.
- Parameters:
filters (
Optional[RegisteredModelVersionsListFilters]
) – A RegisteredModelVersionsListFilters instance used to filter the list of registered model versions returned.search (
Optional[str]
) – A search string used to filter the list of registered model versions returned.sort_key (
Optional[RegisteredModelVersionSortKey]
) – The key to use to sort the list of registered model versions returned.sort_direction (
Optional[RegisteredModelSortDirection]
) – The direction to use to sort the list of registered model versions returned.limit (
Optional[int]
) – The maximum number of registered model versions to return. Default is 100.offset (
Optional[int]
) – The number of registered model versions to skip over. Default is 0.
- Returns:
registered_model_versions – A list of registered model version objects.
- Return type:
List[RegisteredModelVersion]
Examples
from datarobot import RegisteredModel from datarobot.models.model_registry import RegisteredModelVersionsListFilters from datarobot.enums import RegisteredModelSortKey, RegisteredModelSortDirection registered_model = RegisteredModel.get('5c939e08962d741e34f609f0') filters = RegisteredModelVersionsListFilters(tags=['tag1', 'tag2']) registered_model_versions = registered_model.list_versions(filters=filters) >>> [RegisteredModelVersion('My Registered Model Version')]
- list_associated_deployments(search=None, sort_key=None, sort_direction=None, limit=None, offset=None)
Retrieve a list of deployments associated with this registered model.
- Parameters:
search (
Optional[str]
)sort_key (
Optional[RegisteredModelDeploymentSortKey]
)sort_direction (
Optional[RegisteredModelSortDirection]
)limit (
Optional[int]
)offset (
Optional[int]
)
- Returns:
deployments – A list of deployments associated with this registered model.
- Return type:
List[VersionAssociatedDeployment]
- class datarobot.models.RegisteredModelVersion
Represents a version of a registered model.
- Parameters:
id (
str
) – The ID of the registered model version.registered_model_id (
str
) – The ID of the parent registered model.registered_model_version (
int
) – The version of the registered model.name (
str
) – The name of the registered model version.model_id (
str
) – The ID of the model.model_execution_type (
str
) – Type of model package (version). dedicated (native DataRobot models) and custom_inference_model` (user added inference models) both execute on DataRobot prediction servers, external do notis_archived (
bool
) –- Whether the model package (version) is permanently archived (cannot be used in deployment or
replacement)
import_meta (
ImportMeta
) – Information from when this Model Package (version) was first saved.source_meta (
SourceMeta
) – Meta information from where this model was generatedmodel_kind (
ModelKind
) – Model attribute information.target (
Target
) – Target information for the registered model version.model_description (
ModelDescription
) – Model description information.datasets (
Dataset
) – Dataset information for the registered model version.timeseries (
Timeseries
) – Timeseries information for the registered model version.bias_and_fairness (
BiasAndFairness
) – Bias and fairness information for the registered model version.is_deprecated (
bool
) –- Whether the model package (version) is deprecated (cannot be used in deployment or
replacement)
permissions (
List[str]
) – Permissions for the registered model version.active_deployment_count (
int
orNone
) – Number of the active deployments associated with the registered model version.build_status (
str
orNone
) – Model package (version) build status. One of complete, inProgress, failed.user_provided_id (
str
orNone
) – User provided ID for the registered model version.updated_at (
str
orNone
) – The time the registered model version was last updated.updated_by (
UserMetadata
orNone
) – The user who last updated the registered model version.tags (
List[TagWithId]
orNone
) – The tags associated with the registered model version.mlpkg_file_contents (
str
orNone
) – The contents of the model package file.
- classmethod create_for_leaderboard_item(model_id, name=None, prediction_threshold=None, distribution_prediction_model_id=None, description=None, compute_all_ts_intervals=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)
- Parameters:
model_id (
str
) – ID of the DataRobot model.name (
str
orNone
) – Name of the version (model package).prediction_threshold (
float
orNone
) – Threshold used for binary classification in predictions.distribution_prediction_model_id (
str
orNone
) – ID of the DataRobot distribution prediction model trained on predictions from the DataRobot model.description (
str
orNone
) – Description of the version (model package).compute_all_ts_intervals (
bool
orNone
) – Whether to compute all time series prediction intervals (1-100 percentiles).registered_model_name (
Optional[str]
) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.registered_model_id (
Optional[str]
) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.tags (
Optional[List[Tag]]
) – Tags for the registered model version.registered_model_tags (
Optional[List[Tag]]
) – Tags for the registered model.registered_model_description (
Optional[str]
) – Description for the registered model.
- Returns:
regitered_model_version – A new registered model version object.
- Return type:
- classmethod create_for_external(name, target, model_id=None, model_description=None, datasets=None, timeseries=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)
Create a new registered model version from an external model.
- Parameters:
name (
str
) – Name of the registered model version.target (
ExternalTarget
) – Target information for the registered model version.model_id (
Optional[str]
) – Model ID of the registered model version.model_description (
Optional[ModelDescription]
) – Information about the model.datasets (
Optional[ExternalDatasets]
) – Dataset information for the registered model version.timeseries (
Optional[Timeseries]
) – Timeseries properties for the registered model version.registered_model_name (
Optional[str]
) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.registered_model_id (
Optional[str]
) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.tags (
Optional[List[Tag]]
) – Tags for the registered model version.registered_model_tags (
Optional[List[Tag]]
) – Tags for the registered model.registered_model_description (
Optional[str]
) – Description for the registered model.
- Returns:
registered_model_version – A new registered model version object.
- Return type:
- classmethod create_for_custom_model_version(custom_model_version_id, name=None, description=None, registered_model_name=None, registered_model_id=None, tags=None, registered_model_tags=None, registered_model_description=None)
Create a new registered model version from a custom model version.
- Parameters:
custom_model_version_id (
str
) – ID of the custom model version.name (
Optional[str]
) – Name of the registered model version.description (
Optional[str]
) – Description of the registered model version.registered_model_name (
Optional[str]
) – Name of the new registered model that will be created from this model package (version). The model package (version) will be created as version 1 of the created registered model. If neither registeredModelName nor registeredModelId is provided, it defaults to the model package (version) name. Mutually exclusive with registeredModelId.registered_model_id (
Optional[str]
) – Creates a model package (version) as a new version for the provided registered model ID. Mutually exclusive with registeredModelName.tags (
Optional[List[Tag]]
) – Tags for the registered model version.registered_model_tags (
Optional[List[Tag]]
) – Tags for the registered model.registered_model_description (
Optional[str]
) – Description for the registered model.
- Returns:
registered_model_version – A new registered model version object.
- Return type:
- list_associated_deployments(search=None, sort_key=None, sort_direction=None, limit=None, offset=None)
Retrieve a list of deployments associated with this registered model version.
- Parameters:
search (
Optional[str]
)sort_key (
Optional[RegisteredModelDeploymentSortKey]
)sort_direction (
Optional[RegisteredModelSortDirection]
)limit (
Optional[int]
)offset (
Optional[int]
)
- Returns:
deployments – A list of deployments associated with this registered model version.
- Return type:
List[VersionAssociatedDeployment]
- class datarobot.models.model_registry.deployment.VersionAssociatedDeployment
Represents a deployment associated with a registered model version.
- Parameters:
id (
str
) – The ID of the deployment.currently_deployed (
bool
) – Whether this version is currently deployed.registered_model_version (
int
) – The version of the registered model associated with this deployment.is_challenger (
bool
) – Whether the version associated with this deployment is a challenger.status (
str
) – The status of the deployment.label (
Optional[str]
) – The label of the deployment.first_deployed_at (
datetime.datetime
, optional) – The time the version was first deployed.first_deployed_by (
UserMetadata
, optional) – The user who first deployed the version.created_by (
UserMetadata
, optional) – The user who created the deployment.prediction_environment (
DeploymentPredictionEnvironment
, optional) – The prediction environment of the deployment.
- class datarobot.models.model_registry.RegisteredModelVersionsListFilters
Filters for listing of registered model versions.
- Parameters:
target_name (
str
orNone
) – Name of the target to filter by.target_type (
str
orNone
) – Type of the target to filter by.compatible_with_leaderboard_model_id (
str
orNone.
) – If specified, limit results to versions (model packages) of the Leaderboard model with the specified ID.compatible_with_model_package_id (
str
orNone.
) – Returns versions compatible with the given model package (version) ID. If used, it will only return versions that match target.name, target.type, target.classNames (for classification models), modelKind.isTimeSeries and modelKind.isMultiseries for the specified model package (version).for_challenger (
bool
orNone
) – Can be used with compatibleWithModelPackageId to request similar versions that can be used as challenger models; for external model packages (versions), instead of returning similar external model packages (versions), similar DataRobot and Custom model packages (versions) will be retrieved.prediction_threshold (
float
orNone
) – Return versions with the specified prediction threshold used for binary classification models.imported (
bool
orNone
) – If specified, return either imported (true) or non-imported (false) versions (model packages).prediction_environment_id (
str
orNone
) – Can be used to filter versions (model packages) by what is supported by the prediction environmentmodel_kind (
str
orNone
) – Can be used to filter versions (model packages) by model kind.build_status (
str
orNone
) – If specified, filter versions by the build status.
- class datarobot.models.model_registry.RegisteredModelListFilters
Filters for listing registered models.
- Parameters:
created_at_start (
datetime.datetime
) – Registered models created on or after this timestamp.created_at_end (
datetime.datetime
) – Registered models created before this timestamp. Defaults to the current time.modified_at_start (
datetime.datetime
) – Registered models modified on or after this timestamp.modified_at_end (
datetime.datetime
) – Registered models modified before this timestamp. Defaults to the current time.target_name (
str
) – Name of the target to filter by.target_type (
str
) – Type of the target to filter by.created_by (
str
) – Email of the user that created registered model to filter by.compatible_with_leaderboard_model_id (
str
) – If specified, limit results to registered models containing versions (model packages) for the leaderboard model with the specified ID.compatible_with_model_package_id (
str
) – Return registered models that have versions (model packages) compatible with given model package (version) ID. If used, will only return registered models which have versions that match target.name, target.type, target.classNames (for classification models), modelKind.isTimeSeries, and modelKind.isMultiseries of the specified model package (version).for_challenger (
bool
) – Can be used with compatibleWithModelPackageId to request similar registered models that contain versions (model packages) that can be used as challenger models; for external model packages (versions), instead of returning similar external model packages (versions), similar DataRobot and Custom model packages will be retrieved.prediction_threshold (
float
) – If specified, return any registered models containing one or more versions matching the prediction threshold used for binary classification models.imported (
bool
) – If specified, return any registered models that contain either imported (true) or non-imported (false) versions (model packages).prediction_environment_id (
str
) – Can be used to filter registered models by what is supported by the prediction environment.model_kind (
str
) – Return models that contain versions matching a specific format.build_status (
str
) – If specified, only return models that have versions with specified build status.