管理已部署的代理

本页介绍了如何管理已部署到 Vertex AI Agent Engine 托管运行时的代理。在 Vertex AI 中,已部署的代理是 reasoningEngine 类型的资源。

列出已部署的代理

列出给定项目和位置的所有已部署代理:

控制台

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

属于所选项目的已部署代理会显示在列表中。您可以使用过滤字段按指定列过滤列表。

Python 版 Vertex AI SDK

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    project="PROJECT_ID",
    location="LOCATION",
)

for agent in client.agent_engines.list():
    print(agent)

如需按 display_name 过滤列表,请执行以下操作:

for agent in client.agent_engines.list(
    config={
        "filter": 'display_name="DISPLAY_NAME"',
    },
):
    print(agent)

REST

调用 reasoningEngines.list 方法。

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

  • PROJECT_ID:您的 GCP 项目 ID
  • LOCATION:支持的区域

HTTP 方法和网址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Vertex AI 快速模式

您可以使用 Vertex AI SDK for Python 或 REST 与 Vertex AI 快速模式搭配使用。如需详细了解 Vertex AI 快速模式以及如何注册,请参阅 Vertex AI 快速模式概览

Vertex AI SDK

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    api_key="API_KEY",
)

for agent in client.agent_engines.list():
    print(agent)

API_KEY 替换为您的快速模式 API 密钥

如需按 display_name 过滤列表,请执行以下操作:

for agent in client.agent_engines.list(
    config={
        "filter": 'display_name="DISPLAY_NAME"',
    },
):
    print(agent)

REST API

以下 REST 命令会调用 reasoningEngines.list 方法:

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

  • API_KEY:您的快速模式 API 密钥

HTTP 方法和网址:

GET https://aiplatform.googleapis.com/v1/projects/reasoningEngines?key=API_KEY

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

获取已部署的代理

每个已部署的代理都有一个唯一的 RESOURCE_ID 标识符。如需了解详情,请参阅部署代理

控制台

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

    属于所选项目的已部署代理会显示在列表中。您可以使用过滤字段按指定列过滤列表。

  2. 点击指定代理的名称。系统会打开相应代理的指标页面。

  3. (可选)如需查看代理的部署详细信息,请点击部署详细信息。系统会打开部署详情窗格。如需关闭该窗格,请点击完成

  4. (可选)如需查看代理的 querystreamQuery 网址,请点击 API 网址。系统随即会打开 API 网址窗格。如需关闭该窗格,请点击完成

Python 版 Vertex AI SDK

通过以下代码,您可以获取特定的已部署代理:

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    project="PROJECT_ID",
    location="LOCATION",
)

remote_agent = client.agent_engines.get(
    name="projects/PROJECT_ID_OR_NUMBER/locations/LOCATION/reasoningEngines/RESOURCE_ID"
)

REST

调用 reasoningEngines.get 方法。

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

  • PROJECT_ID:您的 GCP 项目 ID
  • LOCATION:支持的区域
  • RESOURCE_ID:已部署代理的资源 ID

HTTP 方法和网址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Vertex AI 快速模式

您可以使用 Vertex AI SDK for Python 或 REST 与 Vertex AI 快速模式搭配使用。如需详细了解 Vertex AI 快速模式以及如何注册,请参阅 Vertex AI 快速模式概览

Vertex AI SDK

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    api_key="API_KEY",
)

remote_agent = client.agent_engines.get(
    name="RESOURCE_NAME"
)
# Resource Name: "projects/{PROJECT_NUMBER}/locations/{LOCATION}/reasoningEngines/{RESOURCE_ID}"
# RESOURCE_ID can be used for the REST commands

API_KEY 替换为您的快速模式 API 密钥

REST API

以下 REST 命令会调用 reasoningEngines.get 方法:

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

  • RESOURCE_ID:已部署代理的资源 ID
  • API_KEY:您的快速模式 API 密钥

HTTP 方法和网址:

GET https://aiplatform.googleapis.com/v1/reasoningEngines/RESOURCE_ID?key=API_KEY

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

更新已部署的代理

您可以同时更新已部署代理的一个或多个字段,但必须至少指定一个要更新的字段。更新已部署的代理所需的时间取决于所执行的更新,但通常需要几秒到几分钟。

控制台

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

  2. 针对您指定的代理,点击更多操作菜单 ()。

  3. 点击修改。系统会打开相应代理的修改窗格。

  4. 修改代理的显示名称说明

  5. 点击保存

Python 版 Vertex AI SDK

如需将已部署的代理(对应于 RESOURCE_NAME)更新为更新后的代理(对应于 UPDATED_AGENT),请执行以下操作:

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    project="PROJECT_ID",
    location="LOCATION",
)

client.agent_engines.update(
    name=RESOURCE_NAME,                    # Required.
    agent=UPDATED_AGENT,                   # Optional.
    config={                                                # Optional.
        "requirements": REQUIREMENTS,      # Optional.
        "display_name": "DISPLAY_NAME",    # Optional.
        "description": "DESCRIPTION",      # Optional.
        "extra_packages": EXTRA_PACKAGES,  # Optional.
    },
)

这些参数与部署代理时使用的参数相同。

REST

调用 reasoningEngines.patch 方法并提供 update_mask 以指定要更新的字段。

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

  • PROJECT_ID:您的 GCP 项目 ID
  • LOCATION:支持的区域
  • RESOURCE_ID:已部署代理的资源 ID
  • update_mask:要更新的以英文逗号分隔的字段列表

HTTP 方法和网址:

PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID?update_mask="display_name,description"

请求 JSON 正文:

{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION"
}

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Vertex AI 快速模式

您可以使用 Vertex AI SDK for Python 或 REST 与 Vertex AI 快速模式搭配使用。如需详细了解 Vertex AI 快速模式以及如何注册,请参阅 Vertex AI 快速模式概览

Vertex AI SDK

以下代码使用 Vertex AI SDK for Python 将已部署的代理(对应于 RESOURCE_NAME)更新为更新后的代理(对应于 UPDATED_AGENT):

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    api_key="API_KEY",
)

client.agent_engines.update(
    name=RESOURCE_NAME,                    # Required.
    agent=UPDATED_AGENT,                   # Optional.
    config={                                                # Optional.
        "requirements": REQUIREMENTS,      # Optional.
        "display_name": "DISPLAY_NAME",    # Optional.
        "description": "DESCRIPTION",      # Optional.
        "extra_packages": EXTRA_PACKAGES,  # Optional.
    },
)

API_KEY 替换为您的快速模式 API 密钥

REST API

以下 REST 命令会调用 reasoningEngines.patch 方法并提供 update_mask 以指定要更新的字段:

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

  • RESOURCE_ID:已部署代理的资源 ID
  • API_KEY:您的快速模式 API 密钥
  • update_mask:要更新的以英文逗号分隔的字段列表

HTTP 方法和网址:

PATCH https://aiplatform.googleapis.com/v1/reasoningEngines/RESOURCE_ID?update_mask="display_name,description"&key=API_KEY

请求 JSON 正文:

{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION"
}

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

为已部署的代理配置遥测

如果您在代理开发期间启用了轨迹,则可以使用 Google Cloud 控制台为已部署的代理配置遥测。

为已部署且启用了遥测功能的代理配置遥测:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

    属于所选项目的 Agent Engine 实例会显示在列表中。您可以使用过滤字段按指定列过滤列表。

  2. 找到 Agent Engine 实例对应的行。在遥测配置列下,点击配置。系统会打开服务配置面板。

  3. 您可以进行以下配置:

    • 可观测性:您可以配置以下内容:

      • 启用 OpenTelemetry 跟踪记录和日志的插桩:如需填充代理可观测性信息中心和跟踪记录页面,请点击切换开关,将其切换到开启位置。

      • 启用提示输入和回答输出的日志记录:如需收集并存储用户提示和回答的完整内容,请点击相应切换开关,将其切换到开启位置。

      如果您的代理停用了遥测数据收集功能,您需要重新部署代理并将 Vertex AI SDK 版本更新为 >= 1.126.1,才能查看可观测性的配置选项。

    • 容器:为已部署的代理配置容器设置:

      • 扩缩:输入实例数下限实例数上限

      • 资源:为每个容器选择内存CPU 的限制。

      • 容器并发:输入实例数下限,以设置每个容器和代理服务器的并发数。建议值为 (2 * CPU + 1),默认值为 9。

    • 访问权限:点击 IAM 中的管理权限,以管理关联服务账号的代理权限。

    • 部署详情:查看智能体的部署详情,包括资源名称显示名称

    • 记忆库:查看代理的记忆库详细信息,包括记忆生成记忆搜索

  4. 点击更新关闭

查看已部署代理的指标

对于已部署的代理,您可以使用控制台查看代理的指标:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

    属于所选项目的已部署代理会显示在列表中。您可以使用过滤字段按指定列过滤列表。

  2. 点击代理的名称。系统会显示所选代理的信息中心

  3. 选择以下任一信息中心标签页:

    • 概览:查看代理的指标摘要信息中心,包括代理延迟时间、代理请求数和代理错误率。

    • 模型:查看代理模型指标的信息中心,包括模型调用次数、模型错误率和模型令牌使用情况。

    • 工具:查看代理工具的指标信息中心,包括工具调用次数、工具错误率和工具延迟时间。

    • 使用情况:查看代理使用情况的指标信息中心,包括输入和输出的令牌用量、容器 CPU 分配和容器内存分配。

    • 日志:查看代理的日志(如果您已为代理启用 Cloud Logging)。

Vertex AI Agent Engine 信息中心

删除已部署的代理

从 Vertex AI Agent Engine 托管式运行时中删除已部署的代理。

控制台

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Engine 页面。

    前往 Agent Engine

  2. 针对您指定的代理,点击更多操作菜单 ()。

  3. 点击删除

  4. 点击删除代理

Python 版 Vertex AI SDK

如果您已有所部署代理的实例(作为 remote_agent),则可以运行以下命令:

remote_agent.delete(
    force=True, # Optional, if the agent has resources (e.g. sessions, memory)
)

或者,您也可以通过以下方式调用 agent_engines.delete() 来删除与 RESOURCE_NAME 对应的已部署代理:

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    project="PROJECT_ID",
    location="LOCATION",
)

client.agent_engines.delete(
    name=RESOURCE_NAME,
    force=True, # Optional, if the agent has resources (e.g. sessions, memory)
)

REST

调用 reasoningEngines.delete 方法。

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

  • PROJECT_ID:您的 GCP 项目 ID
  • LOCATION:支持的区域
  • RESOURCE_ID:已部署代理的资源 ID

HTTP 方法和网址:

DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

Vertex AI 快速模式

您可以使用 Vertex AI SDK for Python 或 REST 与 Vertex AI 快速模式搭配使用。

Vertex AI SDK

以下代码使用 Vertex AI SDK for Python 按以下方式删除与 RESOURCE_NAME 对应的已部署代理:

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    api_key="API_KEY",
)

client.agent_engines.delete(
    name=RESOURCE_NAME,
    force=True, # Optional, if the agent has resources (e.g. sessions, memory)
)

API_KEY 替换为您的快速模式 API 密钥

REST API

以下 REST 命令会调用 reasoningEngines.delete 方法:

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

  • RESOURCE_ID:已部署代理的资源 ID
  • API_KEY:您的快速模式 API 密钥

HTTP 方法和网址:

DELETE https://aiplatform.googleapis.com/v1/projects/reasoningEngines/RESOURCE_ID?key=API_KEY

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

您应该会收到一个成功的状态代码 (2xx) 和一个空响应。

后续步骤