使用代理

使用 Agent Platform SDK

使用 Agent Platform SDK 时,无论代理是在本地运行还是远程部署,用于查询代理的代码都是相同的。由于不同框架支持的操作集各不相同,因此我们针对特定于框架的模板提供了使用说明:

框架 说明
智能体开发套件 根据 Google 内部最佳实践设计,适用于构建 AI 应用的开发者或需要快速开发原型并部署基于代理的强大解决方案的团队。
Agent2Agent(预览版) Agent2Agent (A2A) protocol 是一种开放标准,旨在让 AI 代理之间实现无缝通信和协作。
LangChain 由于具有预定义配置和抽象,因此更易于用于基本应用场景。
LangGraph 用于定义工作流的基于图表的方法,具有高级人机协同 (human-in-the-loop) 和快退/重放功能。
AG2(以前称为 AutoGen) AG2 提供多代理对话框架,作为构建 LLM 工作流的高级抽象。
LlamaIndex(预览版) LlamaIndex 的查询流水线提供了一个高级接口,用于创建检索增强生成 (RAG) 工作流。
自定义 未使用框架专用模板开发和部署的代理。
运行时合约 基于自定义容器的代理的 HTTP API 规范。

使用在 localhost 上提供的代理

如果您通过在 http://localhost:PORT_NUMBER 上监听请求的 API 服务器提供代理,则需要向以下地址发送请求:

http://localhost:PORT_NUMBER/API_PATH

其中

  • PORT_NUMBER 是服务器正在侦听的端口号(例如 8080
  • API_PATH 是相应 API 端点的路径(例如 runrun_sse

通过底层 API 使用已部署的代理

如果您已部署代理,则应将请求发送到相应的端点:

https://LOCATION-aiplatform.googleapis.com/reasoningEngines/v1/projects/PROJECT_NUMBER/locations/<var>LOCATION</var>/reasoningEngines/RESOURCE_ID/api/API_PATH

其中

  • PROJECT_ID 是您部署代理的 Google Cloud 项目 ID
  • LOCATION 是部署智能体的区域
  • RESOURCE_ID 是所部署智能体的 ID,以 reasoningEngine 资源的形式表示
  • API_PATH 是相应 API 端点的路径

此端点相当于将本地主机基础网址替换为已部署代理的基础网址。如果您要部署自定义容器,则 API 端点以及请求和响应结构由运行时合同定义。

举几个例子,如果您从 Dockerfile容器映像部署了 ADK API 服务器,请按如下方式调用 API 端点

运行智能体(单次回答)

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/api/run -d '{
  "appName": "my_sample_agent",
  "userId": "u_123",
  "sessionId": "s_abc",
  "newMessage": {
    "role": "user",
    "parts": [{"text": "What is the capital of France?"}]
  }
}'

运行代理(流式处理)

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID/api/run_sse -d '{
  "appName": "my_sample_agent",
  "userId": "u_123",
  "sessionId": "s_abc",
  "newMessage": {
    "role": "user",
    "parts": [{"text": "What is the weather in New York?"}]
  },
  "streaming": true
}'

在 Google Cloud 控制台中使用已部署的智能体

对于使用智能体开发套件 (ADK) 开发的已部署智能体,您可以使用Google Cloud 控制台与智能体互动:

  1. 在 Google Cloud 控制台中,前往Agent Platform部署页面。

    前往 Agent Platform 部署

    属于所选项目的运行时会显示在列表中。您可以使用过滤字段按指定列过滤列表。

  2. 点击运行时的名称。

  3. 点击 Playground 标签页。

  4. 您可以输入消息与代理互动,也可以点击新会话与代理开始新会话。

  5. 如果您通过 OpenTelemetry 启用了轨迹,则可以查看代理在互动期间的行为详情:

    • 轨迹:您与智能体之间的对话轨迹。

    • 活动:在您与智能体对话期间调用的 API 图表和活动详细信息。

    • 状态:有关对话期间智能体状态的信息。

    • 会话:与智能体关联的会话列表。如需了解详情,请参阅使用 Google Cloud 控制台或 API 调用进行管理

Playground 支持

您可以使用以下框架来试用智能体:

框架 与代理对话 查看会话
智能体开发套件 (ADK) 支持 支持。要求代理实现 Agent Platform 会话以实现持久性。
Agent2Agent (A2A) 支持。要求代理实现 Agent Platform 会话以实现持久性。 支持。要求代理使用 Agent Platform 会话,并且代理必须将 user_id 值作为上下文对象的一部分发送。如需查看有关如何将 user_id 值作为代理执行器的一部分进行传递的示例,请参阅开始使用 A2A 笔记本。

后续步骤