Centralized Model Management

Note

Supported file types: PMML model file (.xml) or a ZIP containing one of the following: (.h5), (.hdf5), (.onnx), (.pickle), (.pkl), (.pt), or (.pb).

Centralized Model Management

class CentralizedModel(facts_client: FactsClientAdapter)
store_model(model_meta: dict, model: str, inventory_id: str)

Publishes a model to IBM watsonx.ai repository. :param model: Local path to the model file (e.g., .pmml or .zip) :param model_meta: Metadata properties for the model (e.g., name, software spec, type) :param inventory_id: inventory id we the model will be published to :return: The published model metadata (dict) or None if failed

The way to use me is,:

centralized_model.store_model(model=model, model_meta=meta_props, inventory_id= inventory_id)

copy_assets_to_container(inventory_id: str, asset_id: str, container_type: str, container_id: str, metadata_overrides: dict[str, Any] = None)

copy asset from Inventory to Project or Space

Parameters:
  • inventory_id – inventory id.

  • asset_id (list) – List of assets ID’s to be deleted.

  • container_type – container type.

  • container_id – container id.

  • metadata_overrides – (optional) metadata_overrides.

Return type:

None

Returns:

assets copied successfully to a container.

The way to use me is,:

centralized_model.copy_assets_to_container(inventory_id,asset_id,container_type,container_id)
delete_externally_managed_assets(inventory_id: str, asset_id: str)

Delete externally managed assets in Inventory

Parameters:
  • inventory_id – inventory id.

  • asset_id – List of assets ID’s to be deleted.

Return type:

None

Returns:

assets are deleted.

The way to use me is,:

centralized_model.delete_deployments(inventory_id,asset_id)
get_externally_managed_assets(inventory_id: str)

Get externally managed assets in an inventory

Parameters:

inventory_id – inventory id.

Returns:

externally managed asset

The way to use me is,:

centralized_model.get_externally_managed_asset(inventory_id)
get_all_externally_managed_assets()

Get all externally managed assets in an account

Returns:

externally managed asset

The way to use me is,:

centralized_model.get_externally_managed_asset()
track_externally_managed_asset(asset_id: str, inventory_id: str, usecase: ModelUsecaseUtilities = None, approach: ApproachUtilities = None, grc_model: dict = None, version_number: str = None, version_comment: str = None)

Link Model to model use case. Model asset should be stored in either Project or Space and corrsponding ID should be provided when registering to model use case.

Supported for CPD version >=4.7.0

Parameters:
  • usecase (ModelUsecaseUtilities) – Instance of ModelUsecaseUtilities

  • approach (ApproachUtilities) – Instance of ApproachUtilities

:param asset_id : The asset id :param inventory_id : The inventory id :param str grc_model: (Optional) Openpages model id. Only applicable for CPD environments. This should be dictionary, output of get_grc_model() :param str version_number: Version number of model. supports either a semantic versioning string or one of the following keywords for auto-incrementing based on the latest version in the approach: “patch”, “minor”, “major” :param str version_comment: (Optional) An optional comment describing the changes made in this version

Return type:

ModelAssetUtilities

For tracking model with model usecase:

>>> centralized_model.track(usecase=<instance of ModelUsecaseUtilities>,approach=<instance of ApproachUtilities>,version_number=<version>)
untrack_externally_managed_asset(asset_id: str, inventory_id: str)

untrack model from it’s usecase and approach

Parameters:
  • asset_id – asset id.

  • inventory_id

    inventory id.

    The way to use me is,:

>>> centralized_model.untrack()
set_phase_for_externally_managed_asset(to_container: str, asset_id: str, inventory_id: str) None

Set externally managed assets to a phase

Parameters:
  • to_container – container phase .

  • asset_id – asset id

  • inventory_id – inventory id

Returns:

externally managed asset

The way to use me is,:

centralized_model.get_externally_managed_asset(inventory_id)