Faça a gestão do Vertex ML Metadata

Este guia demonstra como gerir os seus metadados do Vertex ML.

Antes de começar

A primeira vez que usa o Vertex ML Metadata num Google Cloud projeto, o Vertex AI cria o arquivo de metadados do seu projeto.

Se quiser que os seus metadados sejam encriptados com uma chave de encriptação gerida pelo cliente (CMEK), tem de criar o seu repositório de metadados com uma CMEK antes de usar os metadados do Vertex ML para acompanhar ou analisar metadados. Use as instruções create a metadata store that uses a CMEK para configurar o armazenamento de metadados do seu projeto.

Gestão de artefactos

Cria um artefacto.

Use a API REST ou o SDK Vertex AI para Python para criar um artefacto.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: o seu ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado. O repositório de metadados predefinido chama-se default.
  • ARTIFACT_ID: (Opcional) O ID do registo do artefacto. Se o ID do artefacto não for especificado, o Vertex ML Metadata cria um identificador exclusivo para este artefacto.
  • DISPLAY_NAME: (Opcional) O nome do artefacto definido pelo utilizador.
  • URI: (opcional) a localização onde o artefacto está armazenado
  • ARTIFACT_STATE: (Opcional) Um valor da enumeração State que representa o estado atual do artefacto. Este campo é gerido por aplicações cliente. O Vertex ML Metadata não verifica a validade das transições de estado.
  • METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `.`. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres.
  • METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados. schema_version tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões.
  • METADATA: (opcional.) Propriedades que descrevem o artefacto, como o tipo de conjunto de dados.
  • DESCRIPTION: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
  • LABELS:opcional. Metadados definidos pelo utilizador para organizar os seus artefactos.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID

Corpo JSON do pedido:

{
  "displayName": "DISPLAY_NAME",
  "uri": "URI",
  "state": "ARTIFACT_STATE",
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID",
  "displayName": "Example artifact",
  "uri": "gs://your_bucket_name/artifacts/dataset.csv",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T00:29:24.344Z",
  "updateTime": "2021-05-18T00:29:24.344Z",
  "state": "LIVE",
  "schemaTitle": "system.Dataset",
  "schemaVersion": "0.0.1",
  "metadata": {
    "payload_format": "CSV"
  },
  "description": "Description of the example artifact."
}

Python

Python

from typing import Dict, Optional

from google.cloud.aiplatform.metadata.schema.system import artifact_schema


def create_artifact_sample(
    project: str,
    location: str,
    uri: Optional[str] = None,
    artifact_id: Optional[str] = None,
    display_name: Optional[str] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
    metadata: Optional[Dict] = None,
):
    system_artifact_schema = artifact_schema.Artifact(
        uri=uri,
        artifact_id=artifact_id,
        display_name=display_name,
        schema_version=schema_version,
        description=description,
        metadata=metadata,
    )
    return system_artifact_schema.create(project=project, location=location,)
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.
  • uri: (Opcional) O identificador uniforme de recursos do ficheiro de artefacto, se existir. Pode estar vazio se não existir um ficheiro de artefacto real.
  • artifact_id: (Opcional) O ID do registo do artefacto. Se o ID do artefacto não for especificado, o Vertex ML Metadata cria um identificador exclusivo para este artefacto.
  • display_name: (Opcional) O nome do artefacto definido pelo utilizador.
  • schema_version: a versão do esquema que descreve o campo de metadados.
  • description: (Opcional) Uma string legível que descreve a finalidade do artefacto a ser criado.
  • metadata: propriedades que descrevem o artefacto, como os parâmetros do artefacto.

Procure um artefacto existente

Os artefactos representam dados usados ou produzidos pelo seu fluxo de trabalho de ML, como conjuntos de dados e modelos. Para procurar um artefacto existente, use a API REST ou o SDK do Vertex AI para Python.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado. O repositório de metadados predefinido chama-se default.
  • PAGE_SIZE: (Opcional) O número máximo de artefactos a devolver. Se este valor não for especificado, o serviço devolve um máximo de 100 registos.
  • PAGE_TOKEN: (Opcional) Um token de página de uma chamada MetadataService.ListArtifacts anterior. Especifique este token para obter a página seguinte de resultados.
  • FILTER: especifica as condições necessárias para incluir um artefacto no conjunto de resultados.

Método HTTP e URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. ARTIFACT_ID é o ID do registo do artefacto.

{
  "artifacts": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID",
      "displayName": "Example artifact",
      "uri": "gs://your_bucket_name/artifacts/dataset.csv",
      "etag": "67891011",
      "createTime": "2021-05-18T00:33:13.833Z",
      "updateTime": "2021-05-18T00:33:13.833Z",
      "state": "LIVE",
      "schemaTitle": "system.Dataset",
      "schemaVersion": "0.0.1",
      "metadata": {
        "payload_format": "CSV"
      },
      "description": "Description of the example artifact."
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID",
      "displayName": "Another example artifact",
      "uri": "gs://your_bucket_name/artifacts/dataset-2.csv",
      "etag": "67891012",
      "createTime": "2021-05-18T00:29:24.344Z",
      "updateTime": "2021-05-18T00:29:24.344Z",
      "state": "LIVE",
      "schemaTitle": "system.Dataset",
      "schemaVersion": "0.0.1",
      "metadata": {
        "payload_format": "CSV"
      },
      "description": "Description of the other example artifact."
    }
  ]
}

Python

Python

from typing import Optional

from google.cloud import aiplatform


def list_artifact_sample(
    project: str,
    location: str,
    display_name_filter: Optional[str] = "display_name=\"my_model_*\"",
    create_date_filter: Optional[str] = "create_time>\"2022-06-11\"",
    order_by: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    combined_filters = f"{display_name_filter} AND {create_date_filter}"
    return aiplatform.Artifact.list(
        filter=combined_filters,
        order_by=order_by,
    )

  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.
  • display_name_filter: filtro a aplicar ao nome a apresentar ao listar os recursos com o formato "display_name=\"my_filter\"" .
  • create_date_filter: filtro a aplicar ao nome create_date ao listar os recursos com o formato "create_time>\"2022-06-11T12:30:00-08:00\"",.

Elimine um artefacto existente

Use o REST ou o SDK Vertex AI para Python para eliminar um artefacto.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado. O repositório de metadados predefinido chama-se default.
  • ARTIFACT_ID: o ID do registo do artefacto a eliminar.

Método HTTP e URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

from google.cloud import aiplatform


def delete_artifact_sample(
    artifact_id: str,
    project: str,
    location: str,
):
    artifact = aiplatform.Artifact.get(
        resource_id=artifact_id, project=project, location=location
    )
    artifact.delete()
  • artifact_id: o ID do registo de execução.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.

Remova completamente artefactos

Siga as instruções abaixo para eliminar vários artefactos com base numa condição de filtro.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde o artefacto é criado. O repositório de metadados predefinido chama-se default.
  • FILTER: especifica as condições necessárias para eliminar os artefactos. Por exemplo:
    • Filtros para todos os artefactos que contêm example no nome a apresentar: "display_name = \"*example*\"".
    • Filtros para todos os artefactos criados antes de 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: indica se deve realizar a eliminação total real ou não. Se a flag estiver definida como falsa, o método devolve uma amostra dos nomes dos artefactos que seriam eliminados.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts:purge

Corpo JSON do pedido:

{
  "filter": "FILTER",
  "force": FORCE
}

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeArtifactsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:33.757991Z",
      "updateTime": "2021-07-21T21:02:33.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeArtifactsResponse",
    "purgeCount": "15"
  }
}

Gestão da execução

Crie uma execução

As execuções representam um passo no seu fluxo de trabalho de ML. Use a API REST ou o SDK do Vertex AI para Python para criar uma execução.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada. O repositório de metadados predefinido chama-se default.
  • EXECUTION_ID: o ID do registo de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para esta execução.
  • DISPLAY_NAME: o nome a apresentar da execução. Este campo pode conter até 128 carateres Unicode.
  • EXECUTION_STATE: (Opcional) Um valor da enumeração State que representa o estado atual da execução. Este campo é gerido por aplicações cliente. O Vertex ML Metadata não verifica a validade das transições de estado.
  • METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `.`. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres.
  • METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados. schema_version tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões.
  • METADATA: (Opcional) Propriedades que descrevem a execução, como os parâmetros de execução.
  • DESCRIPTION: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
  • LABELS: opcional. Metadados definidos pelo utilizador para organizar as suas execuções.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID

Corpo JSON do pedido:

{
  "displayName": "DISPLAY_NAME",
  "state": "EXECUTION_STATE",
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"

}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
  "displayName": "Example Execution",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T00:04:49.659Z",
  "updateTime": "2021-05-18T00:04:49.659Z",
  "schemaTitle": "system.Run",
  "schemaVersion": "0.0.1",
  "metadata": {},
  "description": "Description of the example execution."
}

Python

Python

from typing import Any, Dict, List, Optional

from google.cloud import aiplatform
from google.cloud.aiplatform.metadata.schema.system import execution_schema


def create_execution_sample(
    display_name: str,
    input_artifacts: List[aiplatform.Artifact],
    output_artifacts: List[aiplatform.Artifact],
    project: str,
    location: str,
    execution_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    with execution_schema.ContainerExecution(
        display_name=display_name,
        execution_id=execution_id,
        metadata=metadata,
        schema_version=schema_version,
        description=description,
    ).create() as execution:
        execution.assign_input_artifacts(input_artifacts)
        execution.assign_output_artifacts(output_artifacts)
        return execution
  • display_name: o nome a apresentar da execução. Este campo pode conter até 128 carateres Unicode.
  • input_artifacts: uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de entrada.
  • output_artifacts: uma lista de uma ou mais instâncias de aiplatform.Artifact que representam um artefacto de saída.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.
  • execution_id: o ID do registo de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para esta execução.
  • metadata: propriedades que descrevem a execução, como os parâmetros de execução.
  • schema_version:a versão do esquema que descreve o campo de metadados.
  • description: (Opcional) Uma string legível que descreve a finalidade da execução a ser criada.

Procure uma execução existente

Use a API REST ou o SDK Vertex AI para Python para procurar uma execução existente.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada. O repositório de metadados predefinido chama-se default.
  • PAGE_SIZE: (Opcional) O número máximo de artefactos a devolver. Se este valor não for especificado, o serviço devolve um máximo de 100 registos.
  • PAGE_TOKEN: (Opcional) Um token de página de uma chamada MetadataService.ListArtifacts anterior. Especifique este token para obter a página seguinte de resultados.
  • FILTER: especifica as condições necessárias para incluir uma execução no conjunto de resultados.

Método HTTP e URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. EXECUTION_ID é o ID do registo de execução.

{
  "executions": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
      "displayName": "Example execution 1",
      "etag": "67891011",
      "createTime": "2021-05-18T00:06:56.177Z",
      "updateTime": "2021-05-18T00:06:56.177Z",
      "schemaTitle": "system.Run",
      "schemaVersion": "0.0.1",
      "metadata": {},
      "description": "Description of the example execution."
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
      "displayName": "Example execution 2",
      "etag": "67891011",
      "createTime": "2021-05-18T00:04:49.659Z",
      "updateTime": "2021-05-18T00:04:49.659Z",
      "schemaTitle": "system.Run",
      "schemaVersion": "0.0.1",
      "metadata": {},
      "description": "Description of the example execution."
    }
  ]
}

Python

Python

from google.cloud import aiplatform


def get_execution_sample(
    execution_id: str,
    project: str,
    location: str,
):
    execution = aiplatform.Execution.get(
        resource_id=execution_id, project=project, location=location
    )

    return execution

  • execution_id: o ID do registo de execução.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.

Elimine uma execução existente

Use o REST ou o SDK Vertex AI para Python para eliminar uma execução.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada. O repositório de metadados predefinido chama-se default.
  • EXECUTION_ID: o ID do registo de execução a eliminar.

Método HTTP e URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

from google.cloud import aiplatform


def delete_execution_sample(
    execution_id: str,
    project: str,
    location: str,
):
    execution = aiplatform.Execution.get(
        resource_id=execution_id, project=project, location=location
    )
    execution.delete()
  • execution_id: o ID do registo de execução.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.

Remova execuções

Para eliminar várias execuções com base num filtro, siga estas instruções.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde a execução é criada. O repositório de metadados predefinido chama-se default.
  • FILTER: especifica as condições necessárias para eliminar as execuções. Por exemplo:
    • Filtra todas as execuções que contêm example no nome a apresentar: "display_name = \"*example*\"".
    • Filtros para todas as execuções criadas antes de 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: indica se deve realizar a eliminação total real ou não. Se a flag estiver definida como falsa, o método devolve uma amostra dos nomes dos artefactos que seriam eliminados.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions:purge

Corpo JSON do pedido:

{
  "filter": "FILTER",
  "force": FORCE
}

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeExecutionsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:45.757991Z",
      "updateTime": "2021-07-21T21:02:45.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeExecutionsResponse",
    "purgeCount": "2"
  }
}

Gestão do contexto

Crie um contexto

Os contextos permitem-lhe agrupar conjuntos de artefactos e execuções. Use o REST ou o SDK Vertex AI para Python para criar um contexto.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE:o ID do armazenamento de metadados onde a execução é criada. O repositório de metadados predefinido chama-se default.
  • CONTEXT_ID: (Opcional) O ID do registo de contexto. Se o ID do contexto não for especificado, o Vertex ML Metadata criou um identificador exclusivo para este contexto
  • DISPLAY_NAME: o nome a apresentar do contexto. Este campo pode conter até 128 carateres Unicode.
  • PARENT_CONTEXT: especifique o nome do recurso para quaisquer contextos principais. Um contexto não pode ter mais de 10 contextos principais.
  • METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema tem de cumprir o formato `.`. O espaço de nomes tem de começar por uma letra minúscula, pode conter carateres minúsculos e números, e pode ter entre dois e vinte carateres. O nome do esquema tem de começar com uma letra maiúscula, pode incluir letras e números, e pode ter entre 2 e 49 carateres.
  • METADATA_SCHEMA_VERSION: (Opcional) A versão do esquema que descreve o campo de metadados. schema_version tem de ser uma string de três números separados por pontos, por exemplo, 1.0.0 ou 1.0.1. Este formato ajuda a ordenar e comparar versões.
  • METADATA: propriedades que descrevem o contexto, como os parâmetros de contexto.
  • DESCRIPTION:(Opcional) Uma string legível que descreve a finalidade da execução a ser criada.
  • LABELS: opcional. Metadados definidos pelo utilizador para organizar os seus contextos.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID

Corpo JSON do pedido:

{
  "displayName": "DISPLAY_NAME:",
  "parentContexts": [
    "PARENT_CONTEXT_1",
    "PARENT_CONTEXT_2"
  ],
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"

}

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. CONTEXT_ID é o ID do registo de contexto.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
  "displayName": "Example context:",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T01:52:51.642Z",
  "updateTime": "2021-05-18T01:52:51.642Z",
  "schemaTitle": "system.Experiment",
  "schemaVersion": "0.0.1",
  "metadata": {},
  "description": "Description of the example context."
}

Python

Python

from typing import Any, Dict, Optional

from google.cloud import aiplatform
from google.cloud.aiplatform.metadata.schema.system import context_schema


def create_context_sample(
    display_name: str,
    project: str,
    location: str,
    context_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    return context_schema.Experiment(
        display_name=display_name,
        context_id=context_id,
        metadata=metadata,
        schema_version=schema_version,
        description=description,
    ).create()
  • display_name: o nome a apresentar do contexto. Este campo pode conter até 128 carateres Unicode.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.
  • context_id: (Opcional) O ID do registo de contexto.
  • metadata: propriedades que descrevem o contexto, como os parâmetros de contexto.
  • schema_version: a versão do esquema que descreve o campo de metadados.
  • description: (Opcional) Uma string legível que descreve a finalidade do contexto a ser criado.

Procure um contexto existente

Use a API REST ou o SDK Vertex AI para Python para procurar um contexto existente.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde o contexto é criado. O repositório de metadados predefinido chama-se default.
  • PAGE_SIZE: (Opcional) O número máximo de artefactos a devolver. Se este valor não for especificado, o serviço devolve um máximo de 100 registos.
  • PAGE_TOKEN: (Opcional) Um token de página de uma chamada MetadataService.ListArtifacts anterior. Especifique este token para obter a página seguinte de resultados.
  • FILTER: especifica as condições necessárias para incluir um contexto no conjunto de resultados.

Método HTTP e URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. CONTEXT_ID é o ID do registo de contexto.

{
  "contexts": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
      "displayName": "Experiment 1",
      "etag": "67891011",
      "createTime": "2021-05-18T22:36:02.153Z",
      "updateTime": "2021-05-18T22:36:02.153Z",
      "parentContexts": [],
      "schemaTitle": "system.Experiment",
      "schemaVersion": "0.0.1",
      "metadata": {}
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
      "displayName": "Pipeline run 1",
      "etag": "67891011",
      "createTime": "2021-05-18T22:35:02.600Z",
      "updateTime": "2021-05-18T22:35:02.600Z",
      "parentContexts": [],
      "schemaTitle": "system.PipelineRun",
      "schemaVersion": "0.0.1",
      "metadata": {}
    }
  ]
}

Python

Python

from google.cloud import aiplatform


def get_context_sample(
    context_id: str,
    project: str,
    location: str,
):
    context = aiplatform.Context.get(
        resource_id=context_id, project=project, location=location)
    return context
  • context_id:: O ID do registo de contexto.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.

Elimine um contexto existente

Use a API REST ou o SDK Vertex AI para Python para eliminar um contexto.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE: o ID do armazenamento de metadados onde o contexto é criado. O repositório de metadados predefinido chama-se default.
  • CONTEXT_ID: (Opcional) O ID do registo de contexto.

Método HTTP e URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

from google.cloud import aiplatform


def delete_context_sample(
    context_id: str,
    project: str,
    location: str,
):
    context = aiplatform.Context.get(
        resource_id=context_id, project=project, location=location
    )
    context.delete()
  • context_id:: O ID do registo de contexto.
  • project: . Pode encontrar estes IDs na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.

Remova contextos

Use as seguintes instruções para eliminar vários contextos com base numa condição de filtro.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: a sua região.
  • PROJECT_ID: .
  • METADATA_STORE:o ID do armazenamento de metadados onde o contexto é criado. O repositório de metadados predefinido chama-se default.
  • FILTER: especifica as condições necessárias para eliminar os contextos. Por exemplo:
    • Filtra todos os contextos que contêm example no nome a apresentar: "display_name = \"*example*\"".
    • Filtros para todos os contextos criados antes de 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: indica se deve realizar a eliminação total real ou não. Se a flag estiver definida como falsa, o método devolve uma amostra dos nomes de contexto que seriam eliminados.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts:purge

Corpo JSON do pedido:

{
  "filter": "FILTER",
  "force": FORCE
}

Para enviar o seu pedido, expanda uma destas opções:

Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado da operação.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeContextsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:40.757991Z",
      "updateTime": "2021-07-21T21:02:40.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeContextsResponse",
    "purgeCount": "5"
  }
}

O que se segue?