ZenML · Arazzo Workflow

ZenML Register Model

Version 1.0.0

Register a new model in the model control plane and enumerate its versions.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIMachine LearningMLOpsLLMOpsPipelinesOpen SourcePythonArazzoWorkflows

Provider

zenml

Workflows

register-model
Create a model, confirm it in the listing, and enumerate its versions.
Creates a model with the supplied metadata, lists models filtered by name to confirm registration, and lists the versions scoped to the new model id.
3 steps inputs: accessToken, description, license, modelName, useCases outputs: latestVersionId, modelId, modelName
1
createModel
createModel
Register the model with the supplied name and optional metadata.
2
confirmModel
listModels
List models to confirm the newly registered model is discoverable.
3
listVersions
listModelVersions
List the versions tracked under the new model id.

Source API Descriptions

Arazzo Workflow Specification

zenml-register-model-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: ZenML Register Model
  summary: Register a new model in the model control plane and enumerate its versions.
  description: >-
    Registers a model in the ZenML model control plane and surfaces the versions
    tracked under it. The workflow creates the model, confirms it is discoverable
    in the model listing, and then lists the versions scoped to the new model id.
    Model versions are created by pipeline runs rather than by a dedicated REST
    endpoint, so the version step reads whatever versions already exist for the
    model. Every step spells out its request inline, including the bearer
    Authorization header, so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: zenmlApi
  url: ../openapi/zenml-openapi.yml
  type: openapi
workflows:
- workflowId: register-model
  summary: Create a model, confirm it in the listing, and enumerate its versions.
  description: >-
    Creates a model with the supplied metadata, lists models filtered by name
    to confirm registration, and lists the versions scoped to the new model id.
  inputs:
    type: object
    required:
    - accessToken
    - modelName
    properties:
      accessToken:
        type: string
        description: ZenML JWT access token obtained from the login endpoint.
      modelName:
        type: string
        description: The name to register the model under.
      description:
        type: string
        description: Optional description of the model.
      license:
        type: string
        description: Optional license identifier for the model.
      useCases:
        type: string
        description: Optional free-text description of the model's intended use cases.
  steps:
  - stepId: createModel
    description: >-
      Register the model with the supplied name and optional metadata.
    operationId: createModel
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.modelName
        description: $inputs.description
        license: $inputs.license
        use_cases: $inputs.useCases
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      modelId: $response.body#/id
      modelName: $response.body#/name
  - stepId: confirmModel
    description: >-
      List models to confirm the newly registered model is discoverable.
    operationId: listModels
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: page
      in: query
      value: 1
    - name: size
      in: query
      value: 100
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      total: $response.body#/total
  - stepId: listVersions
    description: >-
      List the versions tracked under the new model id.
    operationId: listModelVersions
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: model_id
      in: query
      value: $steps.createModel.outputs.modelId
    - name: page
      in: query
      value: 1
    - name: size
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestVersionId: $response.body#/items/0/id
      versionCount: $response.body#/total
  outputs:
    modelId: $steps.createModel.outputs.modelId
    modelName: $steps.createModel.outputs.modelName
    latestVersionId: $steps.listVersions.outputs.latestVersionId