使用代理

使用 Agent Platform SDK

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

框架 说明
智能体开发套件 (ADK) 根据 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 端点的路径(例如 run 或 run_sse)

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

如果您已部署代理,则需要向相应端点发送请求:

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

其中

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

此端点相当于将 localhost 基础网址替换为已部署的代理基础网址。如果您要部署自定义容器,则 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 部署

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

  2. 点击运行时系统的名称。

  3. 点击 Playground 标签页。

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

  5. 如果您通过 OpenTelemetry 启用了跟踪记录,则可以查看互动期间代理行为的详细信息:

    • 跟踪记录:您与智能体对话的跟踪记录。

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

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

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

Playground 支持

您可以使用以下框架来试用您的代理:

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

后续步骤