管理机器学习元数据

本指南演示了如何管理机器学习元数据。

准备工作

第一次在 Google Cloud 项目中使用 Vertex ML Metadata 时,Vertex AI 会创建项目的元数据存储区。

如果您希望使用 CMEK(客户管理的加密密钥)对元数据进行加密,则必须先使用 CMEK 创建元数据存储区,然后再使用 Vertex ML Metadata 跟踪或分析元数据。按照创建使用 CMEK 的元数据存储区中的说明配置项目的元数据存储区。

工件管理

创建工件

按照以下说明创建工件。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建工件的元数据存储区的 ID。 默认元数据存储区名为 default
  • ARTIFACT_ID:(可选)工件记录的 ID。如果未指定工件 ID,Vertex ML Metadata 会为此工件创建一个唯一标识符。
  • DISPLAY_NAME:工件的显示名称。此字段最多可包含 128 个 Unicode 字符。
  • URI:(可选)工件的存储位置。
  • ARTIFACT_STATE:(可选)状态枚举中的值,表示工件的当前状态。此字段由客户端应用管理。Vertex ML Metadata 不会检查状态转换的有效性。
  • METADATA_SCHEMA_TITLE:描述元数据字段的架构的标题。架构的标题必须符合格式“.”。命名空间必须以小写字母开头,可以包含小写字符和数字,并且长度可以是 2 到 20 个字符。架构名称必须以大写字母开头,可以包含字母和数字,长度为 2 到 49 个字符。
  • METADATA_SCHEMA_VERSION:(可选)描述元数据字段的架构的版本。 schema_version 必须是用句点分隔的 3 个数字的字符串,例如 1.0.0、1.0.1。此格式有助于对版本进行排序和比较。
  • METADATA:(可选)描述工件的属性,例如数据集类型。
  • DESCRIPTION:(可选)执行作业的说明。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT/locations/LOCATION/metadataStores/default/artifacts/ARTIFACT_ID",
  "displayName": "Example artifact",
  "uri": "gs://your_bucket_name/artifacts/dataset.csv",
  "etag": "67891011",
  "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

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:您的项目 ID。您可以在控制台的欢迎页面中找到这些 ID。
  • location:请参阅可用位置列表
  • uri:(可选)工件文件的统一资源标识符(如果存在)。如果没有实际的工件文件,则可能为空。
  • artifact_id:工件名称的 RESOURCE_ID 部分,具有以下格式。这在 metadataStore 中全局唯一:projects/PROJECT/locations/LOCATION/metadataStores/METADATA_STORE_ID/artifacts/RESOURCE_ID
  • display_name:提供工件的名称。
  • schema_version:描述元数据字段的架构的版本。
  • description:(可选)人类可读的字符串,用于描述要创建的工件的用途。
  • metadata:描述执行作业的属性,例如执行参数。

查询现有工件

工件代表机器学习工作流使用或生成的数据,例如数据集和模型。如需查找现有工件,请按照以下说明操作。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建工件的元数据存储区的 ID。 默认元数据存储区名为 default
  • PAGE_SIZE:(可选)要返回的最大工件数。如果未指定此值,服务最多返回 100 条记录。
  • PAGE_TOKEN:(可选)来自之前 MetadataService.ListArtifacts 调用的页面令牌。指定此令牌可获取下一页结果。
  • FILTER:指定将工件包括在结果集中所需的条件。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。 ARTIFACT_ID 是工件记录的 ID。

{
  "artifacts": [
    {
      "name": "projects/PROJECT/locations/LOCATION/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/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."
    }
  ]
}

删除现有工件

按照以下说明删除工件。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建工件的元数据存储区的 ID。 默认元数据存储区名为 default
  • ARTIFACT_ID:要删除的工件记录的 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

完全清除工件

按照以下说明根据过滤条件删除多个工件。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建工件的元数据存储区的 ID。 默认元数据存储区名为 default
  • FILTER:指定要删除的工件所需的条件。例如:
    • 过滤显示名称中包含 example 的所有工件:"display_name = \"*example*\""
    • 过滤 2020-11-19T11:30:00-04:00 之前创建的所有工件:"create_time < \"2020-11-19T11:30:00-04:00\""
  • FORCE:指示是否执行实际完全清除。如果该标志设置为 false,则该方法将返回要删除的工件名称示例。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

执行管理

创建执行任务

执行作业代表机器学习工作流中的一个步骤。按照以下说明创建执行作业。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建执行作业的元数据存储区的 ID。 默认元数据存储区名为 default
  • EXECUTION_ID:(可选)执行作业记录的 ID。
  • DISPLAY_NAME:执行作业的显示名。此字段最多可包含 128 个 Unicode 字符。
  • EXECUTION_STATE:(可选)状态枚举中的值,表示执行作业的当前状态。此字段由客户端应用管理。Vertex ML Metadata 不会检查状态转换的有效性。
  • METADATA_SCHEMA_TITLE:描述元数据字段的架构的标题。架构的标题必须符合格式“.”。命名空间必须以小写字母开头,可以包含小写字符和数字,并且长度可以是 2 到 20 个字符。架构名称必须以大写字母开头,可以包含字母和数字,长度为 2 到 49 个字符。
  • METADATA_SCHEMA_VERSION:(可选)描述元数据字段的架构的版本。 schema_version 必须是用句点分隔的 3 个数字的字符串,例如 1.0.0、1.0.1。此格式有助于对版本进行排序和比较。
  • METADATA:(可选)描述执行作业的属性,例如执行作业参数。
  • DESCRIPTION:(可选)执行作业的说明。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT/locations/LOCATION/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
  "displayName": "Example Execution",
  "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

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:为执行提供名称。
  • input_artifacts:表示输入工件的 aiplatform.Artifact 实例。
  • output_artifacts:表示输出工件的 aiplatform.Artifact 实例。
  • project:您的项目 ID。您可以在控制台的欢迎页面中找到这些 ID。
  • location:请参阅可用位置列表
  • execution_id:执行记录的 ID。 如果未指定执行作业 ID,则 Vertex ML Metadata 会为执行作业创建一个唯一标识符。
  • metadata:描述执行作业的属性,例如执行参数。
  • schema_version:描述元数据字段的架构的版本。
  • description:(可选)人类可读的字符串,用于描述要创建的执行的用途。

查找现有执行

按照以下说明查询现有执行。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建执行作业的元数据存储区的 ID。 默认元数据存储区名为 default
  • PAGE_SIZE:(可选)要返回的最大工件数。如果未指定此值,服务最多返回 100 条记录。
  • PAGE_TOKEN:(可选)来自之前 MetadataService.ListArtifacts 调用的页面令牌。指定此令牌可获取下一页结果。
  • FILTER:指定将执行作业包括在结果集中所需的条件。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。 EXECUTION_ID 是执行记录的 ID。

{
  "executions": [
    {
      "name": "projects/PROJECT/locations/LOCATION/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/locations/LOCATION/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": "Descrption of the example execution."
    }
  ]
}

删除现有执行

按照以下说明删除执行。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建执行作业的元数据存储区的 ID。 默认元数据存储区名为 default
  • EXECUTION_ID:要删除的执行记录的 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

完全清除执行

如需根据过滤条件删除多个执行,请按照以下说明操作。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建执行作业的元数据存储区的 ID。 默认元数据存储区名为 default
  • FILTER:指定要删除的执行所需的条件。例如:
    • 过滤显示名称中包含 example 的所有执行:"display_name = \"*example*\""
    • 过滤 2020-11-19T11:30:00-04:00 之前创建的所有执行:"create_time < \"2020-11-19T11:30:00-04:00\""
  • FORCE:指示是否执行实际完全清除。如果该标志设置为 false,则该方法将返回要删除的工件名称示例。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

上下文管理

创建上下文

借助上下文,您可以将工件和执行作业集组合在一起。按照以下说明创建上下文。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建执行作业的元数据存储区的 ID。默认元数据存储区名为 default
  • CONTEXT_ID:上下文记录的 ID。 如果未指定上下文 ID,则 Vertex ML Metadata 会为此上下文创建一个唯一标识符
  • DISPLAY_NAME:上下文的显示名称。此字段最多可包含 128 个 Unicode 字符。
  • PARENT_CONTEXT:为任何父级上下文指定资源名称。一个上下文包含的父级上下文不能超过 10 个。
  • METADATA_SCHEMA_TITLE:描述元数据字段的架构的标题。架构的标题必须符合格式“.”。命名空间必须以小写字母开头,可以包含小写字符和数字,并且长度可以是 2 到 20 个字符。架构名称必须以大写字母开头,可以包含字母和数字,长度为 2 到 49 个字符。
  • METADATA_SCHEMA_VERSION:(可选)描述元数据字段的架构的版本。 schema_version 必须是用句点分隔的 3 个数字的字符串,例如 1.0.0、1.0.1。此格式有助于对版本进行排序和比较。
  • METADATA:(可选)描述上下文的属性。
  • DESCRIPTION:(可选)执行说明。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。 CONTEXT_ID 是上下文记录的 ID。

{
  "name": "projects/PROJECT/locations/LOCATION/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
  "displayName": "Example context:",
  "etag": "67891011",
  "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."
}

查找现有上下文

按照以下说明查询现有上下文。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建上下文的元数据存储区的 ID。 默认元数据存储区名为 default
  • PAGE_SIZE:(可选)要返回的最大工件数。如果未指定此值,服务最多返回 100 条记录。
  • PAGE_TOKEN:(可选)来自之前 MetadataService.ListArtifacts 调用的页面令牌。指定此令牌可获取下一页结果。
  • FILTER:指定将上下文包括在结果集中所需的条件。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。 CONTEXT_ID 是上下文记录的 ID。

{
  "contexts": [
    {
      "name": "projects/PROJECT/locations/LOCATION/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/locations/LOCATION/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": {}
    }
  ]
}

删除现有上下文

按照以下说明删除上下文。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建上下文的元数据存储区的 ID。 默认元数据存储区名为 default
  • CONTEXT_ID:上下文记录的 ID。

HTTP 方法和网址:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

完全清除上下文

按照以下说明根据过滤条件删除多个上下文。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:您的区域。
  • PROJECT:您的项目 ID。
  • METADATA_STORE:在其中创建上下文的元数据存储区的 ID。默认元数据存储区名为 default
  • FILTER:指定要删除的上下文所需的条件。例如:
    • 过滤显示名称中包含 example 的所有上下文:"display_name = \"*example*\""
    • 过滤 2020-11-19T11:30:00-04:00 之前创建的所有上下文:"create_time < \"2020-11-19T11:30:00-04:00\""
  • FORCE:指示是否执行实际完全清除。如果该标志设置为 false,则该方法将返回要删除的上下文名称示例。

HTTP 方法和网址:

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

请求 JSON 正文:

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

如需发送您的请求,请展开以下选项之一:

您应该会看到类似如下所示的输出。您可以使用响应中的 OPERATION_ID获取操作的状态

{
  "name": "projects/PROJECT/locations/LOCATION/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"
  }
}

后续步骤