Skip to main content

Model Management

Michelangelo AI provides four gRPC services for managing ML models and their associated resources: ModelService for registered model artifacts, ModelFamilyService for grouping related model versions, CachedOutputService for intermediate pipeline outputs and training checkpoints, and EvaluationReportService for model evaluation reports.

Proto sources: proto/api/v2/model_svc.proto, proto/api/v2/model_family_svc.proto, proto/api/v2/cached_output_svc.proto, proto/api/v2/evaluation_report_svc.proto.

New to this reference? See How to Read the gRPC API Reference for the shared CRUD-plus-list pattern, the Required column, and how undocumented fields are shown.


ModelService

Model Service defines the Model related methods, such as CRUD and list.

A Model records a trained ML artifact together with its metadata: ownership, ML problem kind, training framework, input/output schemas, quality scores, feature importance, and references to associated evaluation reports and pipeline runs.

CreateModel

CreateModel(CreateModelRequest) → CreateModelResponse

Create a new Model with the given spec.

Request fields

FieldTypeRequiredDescription
modelModelYesThe metadata and spec of the Model to be created.
create_optionsk8s.io.apimachinery.pkg.apis.meta.v1.CreateOptionsNo

Response fields

FieldTypeDescription
modelModelThe created Model.

GetModel

GetModel(GetModelRequest) → GetModelResponse

Get the specified Model.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Model.
namespacestringYesObject name and auth scope.
get_optionsk8s.io.apimachinery.pkg.apis.meta.v1.GetOptionsNo

Response fields

FieldTypeDescription
modelModelThe requested Model.

UpdateModel

UpdateModel(UpdateModelRequest) → UpdateModelResponse

Update a Model with the given spec.

Request fields

FieldTypeRequiredDescription
modelModelYesThe metadata and spec of the Model to be updated.
update_optionsk8s.io.apimachinery.pkg.apis.meta.v1.UpdateOptionsNo

Response fields

FieldTypeDescription
modelModelThe updated Model.

DeleteModel

DeleteModel(DeleteModelRequest) → DeleteModelResponse

Delete a Model.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Model.
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo

Response fields

DeleteModelResponse is empty.


DeleteModelCollection

DeleteModelCollection(DeleteModelCollectionRequest) → DeleteModelCollectionResponse

Delete collection of Model.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo

Response fields

DeleteModelCollectionResponse is empty.


ListModel

ListModel(ListModelRequest) → ListModelResponse

List objects of type Model.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo
list_options_extmichelangelo.api.ListOptionsExtNo

Response fields

FieldTypeDescription
model_listModelList

ModelFamilyService

ModelFamily Service defines the ModelFamily related methods, such as CRUD and list.

A ModelFamily is a sub-problem in a project that logically groups related model versions under a stable name. The family name is limited to 40 alphanumeric/underscore/dash characters to avoid length issues in derived entities such as alerts and dashboards.

CreateModelFamily

CreateModelFamily(CreateModelFamilyRequest) → CreateModelFamilyResponse

Create a new ModelFamily with the given spec.

Request fields

FieldTypeRequiredDescription
model_familyModelFamilyYesThe metadata and spec of the ModelFamily to be created.
create_optionsk8s.io.apimachinery.pkg.apis.meta.v1.CreateOptionsNo

Response fields

FieldTypeDescription
model_familyModelFamilyThe created ModelFamily.

GetModelFamily

GetModelFamily(GetModelFamilyRequest) → GetModelFamilyResponse

Get the specified ModelFamily.

Request fields

FieldTypeRequiredDescription
namestringYesName of the ModelFamily.
namespacestringYesObject name and auth scope.
get_optionsk8s.io.apimachinery.pkg.apis.meta.v1.GetOptionsNo

Response fields

FieldTypeDescription
model_familyModelFamilyThe requested ModelFamily.

UpdateModelFamily

UpdateModelFamily(UpdateModelFamilyRequest) → UpdateModelFamilyResponse

Update a ModelFamily with the given spec.

Request fields

FieldTypeRequiredDescription
model_familyModelFamilyYesThe metadata and spec of the ModelFamily to be updated.
update_optionsk8s.io.apimachinery.pkg.apis.meta.v1.UpdateOptionsNo

Response fields

FieldTypeDescription
model_familyModelFamilyThe updated ModelFamily.

DeleteModelFamily

DeleteModelFamily(DeleteModelFamilyRequest) → DeleteModelFamilyResponse

Delete a ModelFamily.

Request fields

FieldTypeRequiredDescription
namestringYesName of the ModelFamily.
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo

Response fields

DeleteModelFamilyResponse is empty.


DeleteModelFamilyCollection

DeleteModelFamilyCollection(DeleteModelFamilyCollectionRequest) → DeleteModelFamilyCollectionResponse

Delete collection of ModelFamily.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo

Response fields

DeleteModelFamilyCollectionResponse is empty.


ListModelFamily

ListModelFamily(ListModelFamilyRequest) → ListModelFamilyResponse

List objects of type ModelFamily.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo
list_options_extmichelangelo.api.ListOptionsExtNo

Response fields

FieldTypeDescription
model_family_listModelFamilyList

CachedOutputService

CachedOutput Service defines the CachedOutput related methods, such as CRUD and list.

A CachedOutput represents cached output generated by an ML application and stored in blob storage (e.g. S3). The resource covers four output types: generic pipeline variables (CACHED_OUTPUT_TYPE_VARIABLE), data-transform step checkpoints (CACHED_OUTPUT_TYPE_TRANSFORM_CKPT), trainer step checkpoints (CACHED_OUTPUT_TYPE_TRAINING_CKPT), and raw model files saved before packaging (CACHED_OUTPUT_TYPE_RAW_MODEL). Checkpoints are referenced by IncrementalTrainingSpec fields on a Model to enable incremental retraining.

CreateCachedOutput

CreateCachedOutput(CreateCachedOutputRequest) → CreateCachedOutputResponse

Create a new CachedOutput with the given spec.

Request fields

FieldTypeRequiredDescription
cached_outputCachedOutputYesThe metadata and spec of the CachedOutput to be created.
create_optionsk8s.io.apimachinery.pkg.apis.meta.v1.CreateOptionsNo

Response fields

FieldTypeDescription
cached_outputCachedOutputThe created CachedOutput.

GetCachedOutput

GetCachedOutput(GetCachedOutputRequest) → GetCachedOutputResponse

Get the specified CachedOutput.

Request fields

FieldTypeRequiredDescription
namestringYesName of the CachedOutput.
namespacestringYesObject name and auth scope.
get_optionsk8s.io.apimachinery.pkg.apis.meta.v1.GetOptionsNo

Response fields

FieldTypeDescription
cached_outputCachedOutputThe requested CachedOutput.

UpdateCachedOutput

UpdateCachedOutput(UpdateCachedOutputRequest) → UpdateCachedOutputResponse

Update a CachedOutput with the given spec.

Request fields

FieldTypeRequiredDescription
cached_outputCachedOutputYesThe metadata and spec of the CachedOutput to be updated.
update_optionsk8s.io.apimachinery.pkg.apis.meta.v1.UpdateOptionsNo

Response fields

FieldTypeDescription
cached_outputCachedOutputThe updated CachedOutput.

DeleteCachedOutput

DeleteCachedOutput(DeleteCachedOutputRequest) → DeleteCachedOutputResponse

Delete a CachedOutput.

Request fields

FieldTypeRequiredDescription
namestringYesName of the CachedOutput.
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo

Response fields

DeleteCachedOutputResponse is empty.


DeleteCachedOutputCollection

DeleteCachedOutputCollection(DeleteCachedOutputCollectionRequest) → DeleteCachedOutputCollectionResponse

Delete collection of CachedOutput.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo

Response fields

DeleteCachedOutputCollectionResponse is empty.


ListCachedOutput

ListCachedOutput(ListCachedOutputRequest) → ListCachedOutputResponse

List objects of type CachedOutput.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo
list_options_extmichelangelo.api.ListOptionsExtNo

Response fields

FieldTypeDescription
cached_output_listCachedOutputList

EvaluationReportService

EvaluationReport Service defines the EvaluationReport related methods, such as CRUD and list.

An EvaluationReport stores charts, filters, and data point sources that describe the evaluation results of a trained model. Reports are referenced by ModelSpec fields such as performance_evaluation_report, feature_evaluation_report, feature_quality_report, and explainability_report. A report can be sealed to prevent further modification.

CreateEvaluationReport

CreateEvaluationReport(CreateEvaluationReportRequest) → CreateEvaluationReportResponse

Create a new EvaluationReport with the given spec.

Request fields

FieldTypeRequiredDescription
evaluation_reportEvaluationReportYesThe metadata and spec of the EvaluationReport to be created.
create_optionsk8s.io.apimachinery.pkg.apis.meta.v1.CreateOptionsNo

Response fields

FieldTypeDescription
evaluation_reportEvaluationReportThe created EvaluationReport.

GetEvaluationReport

GetEvaluationReport(GetEvaluationReportRequest) → GetEvaluationReportResponse

Get the specified EvaluationReport.

Request fields

FieldTypeRequiredDescription
namestringYesName of the EvaluationReport.
namespacestringYesObject name and auth scope.
get_optionsk8s.io.apimachinery.pkg.apis.meta.v1.GetOptionsNo

Response fields

FieldTypeDescription
evaluation_reportEvaluationReportThe requested EvaluationReport.

UpdateEvaluationReport

UpdateEvaluationReport(UpdateEvaluationReportRequest) → UpdateEvaluationReportResponse

Update an EvaluationReport with the given spec.

Request fields

FieldTypeRequiredDescription
evaluation_reportEvaluationReportYesThe metadata and spec of the EvaluationReport to be updated.
update_optionsk8s.io.apimachinery.pkg.apis.meta.v1.UpdateOptionsNo

Response fields

FieldTypeDescription
evaluation_reportEvaluationReportThe updated EvaluationReport.

DeleteEvaluationReport

DeleteEvaluationReport(DeleteEvaluationReportRequest) → DeleteEvaluationReportResponse

Delete an EvaluationReport.

Request fields

FieldTypeRequiredDescription
namestringYesName of the EvaluationReport.
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo

Response fields

DeleteEvaluationReportResponse is empty.


DeleteEvaluationReportCollection

DeleteEvaluationReportCollection(DeleteEvaluationReportCollectionRequest) → DeleteEvaluationReportCollectionResponse

Delete a collection of EvaluationReport objects.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsk8s.io.apimachinery.pkg.apis.meta.v1.DeleteOptionsNo
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo

Response fields

DeleteEvaluationReportCollectionResponse is empty.


ListEvaluationReport

ListEvaluationReport(ListEvaluationReportRequest) → ListEvaluationReportResponse

List objects of type EvaluationReport.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes
list_optionsk8s.io.apimachinery.pkg.apis.meta.v1.ListOptionsNo
list_options_extmichelangelo.api.ListOptionsExtNo

Response fields

FieldTypeDescription
evaluation_report_listEvaluationReportList

Next Steps