代理身分可讓您使用 Agent CLI 和 Agent Development Kit (ADK),為在 Gemini Enterprise Agent Platform 的 Agent Runtime 中建立及部署的代理,佈建代管身分。部署的代理可向Google Cloud 服務進行驗證,並從 Agent Identity 驗證管理工具擷取憑證,無須手動管理憑證。
事前準備
啟用 Agent Identity API、Agent Platform API、Agent Registry API 和 App Hub API (如有尚未啟用的 API)。
啟用 API 所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過擁有者角色 (roles/owner) 取得這項權限。否則,您可以透過 Service Usage 管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。確認您具備專案的 Agent Platform 使用者 (
roles/aiplatform.user) 角色。
建立及部署代理
使用 google-agents-cli 建立範例代理,並透過代理身分部署:
安裝
uv,然後執行google-agents-cli設定:pip install uv uvx google-agents-cli setup
使用原型範本建立代理專案:
uvx google-agents-cli create AGENT_PROJECT --prototype --yes
將
AGENT_PROJECT替換為新代理專案目錄的名稱 (例如maps-agent)。這個指令會產生下列專案目錄結構:
AGENT_PROJECT/ ├── app/ # Core agent code │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ └── app_utils/ # App utilities and helpers ├── tests/ # Unit and integration tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
將預設應用程式資料夾 (
app) 重新命名為與代理名稱相符 (AGENT_NAME,例如maps_agent)。代理名稱必須是有效的 Python ID:開頭必須是英文字母,且只能包含英文字母、數字和底線。cd AGENT_PROJECT mv app AGENT_NAME
更新
agent.py設定檔,反映新名稱:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )請根據區域可用性選擇要使用的模型。更新
agent.py中MODEL的值,以符合所選模型。僅適用於
global區域的模型解決方法如要使用僅在
global區域提供的模型,您必須修改agent.py,讓代理可以存取該模型。-
新增下列匯入項目:
from functools import cached_property from google.genai import Client
-
在匯入項目後方新增下列子類別:
class GlobalGemini(Gemini): @cached_property def api_client(self) -> Client: return Client(enterprise=True, location="global")
-
找出下列程式碼:
root_agent = Agent( name="root_agent", model=Gemini(
請將其變更為參照新的子類別:
root_agent = Agent( name="root_agent", model=GlobalGemini(
-
建立設定檔,啟用 Agent Identity:
echo '{ "identity_type": "AGENT_IDENTITY" }' > AGENT_NAME/.agent_engine_config.json
為部署作業依附元件建立
requirements.txt檔案:uv export \ --no-emit-workspace \ --no-hashes \ --format requirements.txt \ --output-file AGENT_NAME/requirements.txt
驗證專案目錄結構:
AGENT_PROJECT/ ├── AGENT_NAME/ # Agent application folder │ ├── .agent_engine_config.json # Agent Identity configuration │ ├── agent.py # Main agent logic │ ├── fast_api_app.py # Client application logic │ ├── requirements.txt # Deployment dependencies │ └── app_utils/ # App helpers ├── tests/ # Tests ├── GEMINI.md # Development guide └── pyproject.toml # Project dependencies
在本機測試代理:
uv run adk web . --port 8501 --reload_agents
如要驗證代理,請按照下列步驟操作:
前往
http://localhost:8501。或者,如果您使用的是 Cloud Shell,請按一下網路伺服器輸出內容提供的連結。在對話介面傳送測試提示,驗證回覆。
使用
CTRL+C終止伺服器。將代理部署至 Google Cloud:
uv run adk deploy agent_engine AGENT_NAME \ --project="PROJECT_ID" \ --region="LOCATION"
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。LOCATION:要部署代理的支援的地區 (例如us-west1)。
部署作業會在幾分鐘內完成,完成後,CLI 會輸出確認訊息,並提供 Google Cloud 控制台中代理 Playground 的連結。
擷取代理的 SPIFFE ID (代理身分):
前往 Google Cloud 控制台的「Deployments」(部署作業) 頁面。
如要將代理的 SPIFFE ID 複製到剪貼簿,請找出已部署代理所在的資料列,然後在該列的「Identity」(身分) 欄中,按一下 「Copy to clipboard」(複製到剪貼簿)。身分大致如下:
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID。