Gerenciar metadados do Vertex ML

Este guia demonstra como gerenciar seus metadados de Vertex ML.

Antes de começar

Na primeira vez que você usa os metadados do Vertex ML em um projeto do Google Cloud, o Vertex AI cria o armazenamento de metadados do seu projeto.

Se quiser que seus metadados sejam criptografados com uma chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês), será preciso criar seu armazenamento de metadados com um CMEK antes de usar o Vertex ML Metadata para rastrear ou analisar metadados. Use criar um armazenamento de metadados que use uma CMEK para configurar o armazenamento de metadados do seu projeto.

Gerenciamento de artefatos

Criar um artefato

Use o REST ou o SDK Vertex AI para Python para criar um artefato.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o artefato é criado. O armazenamento de metadados padrão é chamado de default.
  • ARTIFACT_ID: (opcional) o ID do registro de artefato. Se o ID do artefato não for especificado, os Vertex ML Metadata cria um identificador exclusivo para esse artefato.
  • DISPLAY_NAME: (opcional) o nome definido pelo usuário para o artefato.
  • URI: (opcional): o local onde o artefato é armazenado.
  • ARTIFACT_STATE: (opcional) um valor da enumeração de estado que representa o estado atual do artefato. Este campo é gerenciado por aplicativos 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 precisa atender ao formato ".". O namespace precisa começar com uma letra minúscula, pode conter caracteres minúsculos e números e pode ter de dois a vinte caracteres. O nome do esquema precisa começar com uma letra maiúscula, incluir letras e números e ter de 2 a 49 caracteres.
  • METADATA_SCHEMA_VERSION: (opcional): a versão do esquema que descreve o campo de metadados. schema_version precisa ser uma string com três números separados por pontos, por exemplo, 1.0.0, 1.0.1. Esse formato ajuda a ordenar e comparar versões.
  • METADATA: opcional. Propriedades que descrevem o artefato, 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 usuário para organizar seus artefatos.

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 da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud.
  • location: Consulte a Lista de locais disponíveis.
  • uri: (opcional) o identificador uniforme de recurso do arquivo de artefato, se houver. Poderá estar vazio se não houver um arquivo de artefato real.
  • artifact_id: (opcional) o ID do registro de artefato. Se o ID do artefato não for especificado, os Vertex ML Metadata cria um identificador exclusivo para esse artefato.
  • display_name: (opcional) o nome definido pelo usuário para o artefato.
  • schema_version: A versão do esquema que descreve o campo de metadados.
  • description: (opcional) uma string legível que descreve a finalidade do artefato a ser criado.
  • metadata: propriedades que descrevem o artefato, como os parâmetros dele.

Pesquisar um artefato existente

Os artefatos representam dados usados ou produzidos pelo fluxo de trabalho de ML, como conjuntos de dados e modelos. Para procurar um artefato atual, use o REST ou o SDK Vertex AI para Python.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o artefato é criado. O armazenamento de metadados padrão é chamado de default.
  • PAGE_SIZE: (opcional) o número máximo de artefatos a serem retornados. Se esse valor não for especificado, o serviço retornará no máximo 100 registros.
  • PAGE_TOKEN: (opcional) um token de página de uma chamada anterior MetadataService.ListArtifacts. Especifique esse token para ver a próxima página de resultados.
  • FILTER: especifica as condições necessárias para incluir um artefato 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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. ARTIFACT_ID é o ID do registro de artefato.

{
  "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: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud.
  • location: Consulte a Lista de locais disponíveis.
  • display_name_filter: filtro a ser aplicado no nome de exibição, listando os recursos com o formato "display_name=\"my_filter\"".
  • create_date_filter: filtro a ser aplicado no nome create_date, listando os recursos com o formato "create_time>\"2022-06-11T12:30:00-08:00\"",.

Excluir um artefato existente

Use o REST ou o SDK Vertex AI para Python para excluir um artefato.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o artefato é criado. O armazenamento de metadados padrão é chamado de default.
  • ARTIFACT_ID: o ID do registro de artefato a ser excluído.

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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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()

Limpar artefatos

Use as instruções a seguir para excluir vários artefatos com base em uma condição de filtro.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o artefato é criado. O armazenamento de metadados padrão é chamado de default.
  • FILTER: especifica as condições exigidas pelos artefatos a serem excluídos. Por exemplo:
    • Filtros para todos os artefatos que contêm exemplo no nome de exibição: "display_name = \"*example*\"".
    • Filtros para todos os artefatos criados antes de 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: indica se a limpeza real será executada ou não. Se a sinalização for definida como falsa, o método retornará uma amostra de nomes de artefatos que seriam excluídos.

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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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"
  }
}

Gerenciamento de execução

Criar execução

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

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do repositório de metadados em que a execução é criada. O armazenamento de metadados padrão é chamado de default.
  • EXECUTION_ID: o ID do registro de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para essa execução.
  • DISPLAY_NAME: o nome de exibição da execução. Esse campo pode conter até 128 caracteres Unicode.
  • EXECUTION_STATE: (opcional): um valor da enumeração de estado que representa o estado atual da execução. Este campo é gerenciado por aplicativos 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 precisa atender ao formato ".". O namespace precisa começar com uma letra minúscula, pode conter caracteres minúsculos e números e pode ter de dois a vinte caracteres. O nome do esquema precisa começar com uma letra maiúscula, incluir letras e números e ter de 2 a 49 caracteres.
  • METADATA_SCHEMA_VERSION: (opcional): a versão do esquema que descreve o campo de metadados. schema_version precisa ser uma string com três números separados por pontos, por exemplo, 1.0.0, 1.0.1. Esse 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 por humanos, que descreve o propósito da execução a ser criada.
  • LABELS: opcional. (opcional): metadados definidos pelo usuário para organizar 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 da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 de exibição da execução. Esse campo pode conter até 128 caracteres Unicode.
  • input_artifacts: uma lista de uma ou mais instâncias do aiplatform.Artifact que representa um artefato de entrada.
  • output_artifacts: uma lista de uma ou mais instâncias do aiplatform.Artifact que representa um artefato de saída.
  • project: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud.
  • location: Consulte a Lista de locais disponíveis.
  • execution_id: o ID do registro de execução. Se o ID de execução não for especificado, o Vertex ML Metadata cria um identificador exclusivo para essa 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.

Procurar uma execução existente

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

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do repositório de metadados em que a execução é criada. O armazenamento de metadados padrão é chamado de default.
  • PAGE_SIZE: (opcional) o número máximo de artefatos a serem retornados. Se esse valor não for especificado, o serviço retornará no máximo 100 registros.
  • PAGE_TOKEN: (opcional) um token de página de uma chamada anterior MetadataService.ListArtifacts. Especifique esse token para ver a próxima página 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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. EXECUTION_ID é o ID do registro 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

Excluir uma execução existente

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

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do repositório de metadados em que a execução é criada. O armazenamento de metadados padrão é chamado de default.
  • EXECUTION_ID: o ID do registro de execução a ser excluído.

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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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()

Limpar execuções

Para excluir várias execuções com base em um filtro, use as instruções a seguir.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do repositório de metadados em que a execução é criada. O armazenamento de metadados padrão é chamado de default.
  • FILTER: especifica as condições exigidas pelas execuções a serem excluídas. Por exemplo:
    • Filtros para todos as execuções que contêm exemplo no nome de exibição: "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 a limpeza real será executada ou não. Se a sinalização for definida como falsa, o método retornará uma amostra de nomes de artefatos que seriam excluídos.

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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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"
  }
}

Gerenciamento de contexto

Criar um contexto

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

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do repositório de metadados em que a execução é criada. O armazenamento de metadados padrão é chamado de default.
  • CONTEXT_ID (opcional): o ID do registro de contexto. Se o ID de contexto não for especificado, os metadados de ML do Vertex criaram um identificador exclusivo para esse contexto.
  • DISPLAY_NAME: o nome de exibição do contexto. Esse campo pode conter até 128 caracteres Unicode.
  • PARENT_CONTEXT: especifique o nome do recurso para qualquer contexto pai. Um contexto não pode ter mais de 10 contextos pai.
  • METADATA_SCHEMA_TITLE: o título do esquema que descreve o campo de metadados. O título do esquema precisa atender ao formato ".". O namespace precisa começar com uma letra minúscula, pode conter caracteres minúsculos e números e pode ter de dois a vinte caracteres. O nome do esquema precisa começar com uma letra maiúscula, incluir letras e números e ter de 2 a 49 caracteres.
  • METADATA_SCHEMA_VERSION: (opcional): a versão do esquema que descreve o campo de metadados. schema_version precisa ser uma string com três números separados por pontos, por exemplo, 1.0.0, 1.0.1. Esse formato ajuda a ordenar e comparar versões.
  • METADATA: propriedades que descrevem o contexto, como os parâmetros.
  • DESCRIPTION: (opcional) uma string legível que descreve a finalidade da execução a ser criada.
  • LABELS: opcional. Metadados definidos pelo usuário para organizar 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 da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. CONTEXT_ID é o ID do registro 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 de exibição do contexto. Esse campo pode conter até 128 caracteres Unicode.
  • project: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud.
  • location: Consulte a Lista de locais disponíveis.
  • context_id (opcional): o ID do registro de contexto.
  • metadata: propriedades que descrevem o contexto, como os parâmetros.
  • 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.

Pesquisar um contexto existente

Use o REST ou o SDK Vertex AI para Python para procurar um contexto atual.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o contexto é criado. O armazenamento de metadados padrão é chamado de default.
  • PAGE_SIZE: (opcional) o número máximo de artefatos a serem retornados. Se esse valor não for especificado, o serviço retornará no máximo 100 registros.
  • PAGE_TOKEN: (opcional) um token de página de uma chamada anterior MetadataService.ListArtifacts. Especifique esse token para ver a próxima página 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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. CONTEXT_ID é o ID do registro 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

Excluir um contexto existente

Use o REST ou o SDK Vertex AI para Python para excluir um contexto.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o contexto é criado. O armazenamento de metadados padrão é chamado de default.
  • CONTEXT_ID (opcional): o ID do registro 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 a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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()

Limpar contextos

Use as instruções a seguir para excluir vários contextos com base em uma condição de filtro.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION_ID: sua região.
  • PROJECT_ID: o ID do projeto.
  • METADATA_STORE: o ID do armazenamento de metadados em que o contexto é criado. O armazenamento de metadados padrão é chamado de default.
  • FILTER: especifica as condições exigidas pelos contextos a serem excluídos. Por exemplo:
    • Filtros para todos os contextos que contêm exemplo no nome de exibição: "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 a limpeza real será executada ou não. Se a sinalização for definida como falsa, o método retornará uma amostra de nomes de execuções que seriam excluídas.

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 da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status 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"
  }
}

A seguir