במדריך הזה נסביר איך ליצור ולפרוס סוכן ב-Agent Runtime ב-Gemini Enterprise Agent Platform עם Agent Identity מופעל.
התכונה 'זהות הסוכן' מקצה זהות SPIFFE מאובטחת לסוכן הפרוס. הסוכן משתמש בזהות הזו כדי לבצע אימות מול שירותי Google Cloud ולשלוף פרטי כניסה ממנהל האימות של זהות הסוכן.
לפני שמתחילים
מפעילים את Agent Identity Connector API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםמוודאים שיש לכם את התפקיד Vertex AI User (
roles/aiplatform.user) בפרויקט.
יצירה ופריסה של הסוכן
יוצרים סוכן לדוגמה באמצעות agents-cli ופורסים אותו עם זהות סוכן:
מתקינים את
google-agents-cliואתuvומריצים את ההגדרה:pip install google-agents-cli uv agents-cli setup
יוצרים פרויקט חדש של סוכן באמצעות תבנית אב טיפוס:
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):mv app
AGENT_NAMEלאחר מכן, מעדכנים את קובץ ההגדרות
agent.pyכך שישקף את השם החדש:# In AGENT_PROJECT/AGENT_NAME/agent.py app = App( root_agent=root_agent, name="
AGENT_NAME", )כדי להפעיל את הזהות של הסוכן, יוצרים קובץ תצורה:
echo '{ "identity_type": "AGENT_IDENTITY" }' > .agent_engine_config.json
יוצרים קובץ
requirements.txtלתלות בפריסה:echo "httpx" > requirements.txt echo "google-auth" >> requirements.txt echo "google-adk[agent_engines,agent-identity]" >> requirements.txt echo "google-cloud-aiplatform[agent_engines,adk]>=1.153.1" >> 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. - בממשק הצ'אט, שולחים הנחיית בדיקה כדי לוודא שהתשובה נכונה.
- עוברים אל
פריסת הסוכן ב Google Cloud:
uv run adk deploy agent_engine
AGENT_NAME\ --project="PROJECT_ID" \ --region="LOCATION"מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
LOCATION: האזור שבו רוצים לפרוס את הסוכן (לדוגמה,us-west1).
בסיום הפריסה, ממשק ה-CLI מציג הודעת אישור וקישור לארגז החול של הסוכן במסוף Google Cloud .
-
מאחזרים את מזהה ה-SPIFFE של הסוכן (זהות הסוכן) מהמסוףGoogle Cloud :
- נכנסים לדף Agent Platform במסוף Google Cloud .
- לוחצים על הכרטיסייה פריסות ובוחרים את הסוכן שנפרס.
- מעתיקים את הערך של Agent Identity (לדוגמה,
principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/ENGINE_ID).
המאמרים הבאים
- סקירה כללית בנושא זהות הסוכן
- סקירה כללית על כלי ניהול אימות הזהויות של סוכנים
- אימות באמצעות OAuth תלת-רגלי עם מנהל הרשאות
- אימות באמצעות OAuth דו-רגלי עם מנהל ההרשאות
- אימות באמצעות מפתח API עם מנהל ההרשאות