使用代理

使用 Agent Platform SDK

使用 Agent Platform SDK 時,無論代理是在本機執行,還是部署在遠端,查詢代理的程式碼都相同。由於支援的作業組合因架構而異,我們提供特定架構範本的使用說明:

架構 說明
Agent Development Kit (ADK) 這項解決方案是根據 Google 內部最佳做法設計,適合需要建構 AI 應用程式的開發人員,或需要快速建立原型並部署強大代理型解決方案的團隊。
Agent2Agent (預先發布版) Agent2Agent (A2A) 通訊協定是一項開放標準,旨在讓 AI 代理順暢通訊及協作。
LangChain 提供預先定義的設定和抽象概念,更易於處理基本用途。
LangGraph 以圖表定義工作流程,並提供進階的人工介入迴路和倒轉/重播功能。
AG2 (原名 AutoGen) AG2 提供多代理對話框架,做為建構 LLM 工作流程的高階抽象化。
LlamaIndex (預先發布版) LlamaIndex 的查詢管道提供高階介面,可用於建立檢索增強生成 (RAG) 工作流程。
自訂 開發及部署時未使用框架專用範本的代理。
執行階段合約 自訂容器型代理的 HTTP API 規格。

使用 localhost 提供的代理

如果您透過 API 伺服器提供代理,而該伺服器在 http://localhost:PORT_NUMBER 監聽要求,則您會將要求傳送至

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 Deployments」(代理平台部署作業) 頁面。

    前往 Agent Platform 部署作業

    清單中會顯示所選專案的執行階段。您可以使用「Filter」(篩選器) 欄位,依指定資料欄篩選清單。

  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」筆記本。

後續步驟