במדריך הזה נדגים איך לפרוס ולנהל אפליקציות של AI/ML אקטיביות בקונטיינרים באמצעות Google Kubernetes Engine (GKE). באמצעות שילוב של הערכה לפיתוח סוכנים (ADK) של Google עם Vertex AI כספק של מודל שפה גדול (LLM), תוכלו להפעיל סוכני AI ביעילות ובקנה מידה גדול. במדריך הזה נסביר איך לוקחים סוכן מבוסס-FastAPI שמבוסס על Gemini 2.5 Flash משלב הפיתוח ועד לפריסה בסביבת הייצור ב-GKE.
המדריך הזה מיועד למהנדסי למידת מכונה (ML), למפתחים ולארכיטקטים של ענן שמעוניינים להשתמש ביכולות של Kubernetes לארגון קונטיינרים כדי להפעיל אפליקציות של AI/ML עם AI אקטיבי. מידע נוסף על תפקידים נפוצים ומשימות לדוגמה ב Google Cloud תוכן זמין במאמר תפקידים נפוצים של משתמשי GKE ומשימות.
לפני שמתחילים, חשוב לוודא שאתם מכירים את המושגים הבאים:
רקע
במדריך הזה משולבות כמה טכנולוגיות של Google כדי ליצור פלטפורמה ניתנת להרחבה ל-AI אקטיבי. GKE מספק את תזמורת הקונטיינרים לסוכן, שנבנה באמצעות ה-ADK. כשמשתמשים ב-Vertex AI API להסקת מסקנות של LLM, לא נדרש אשכול GKE עם חומרת GPU מיוחדת, כי התשתית המנוהלת של Google מטפלת בהסקת המסקנות.
Google Agent Development Kit (ADK)
הערכה לפיתוח סוכנים (ADK) היא מסגרת גמישה ומודולרית לפיתוח ולפריסה של סוכני AI. הערכה ADK מותאמת ל-Gemini ולמערכת האקולוגית של Google, אבל היא מתאימה לכל המודלים, לא תלויה בפריסה מסוימת ונועדה לתאימות למסגרות אחרות.
מידע נוסף מופיע במאמרי העזרה בנושא ADK.
שירות Kubernetes מנוהל של GKE
GKE הוא שירות Kubernetes מנוהל לפריסה, להתאמה לעומס ולניהול של אפליקציות בקונטיינרים. GKE מספק את התשתית הנדרשת, כולל משאבים ניתנים להרחבה, מחשוב מבוזר ורשת יעילה, כדי לעמוד בדרישות החישוב של מודלים גדולים של שפה (LLM).
מידע נוסף על מושגי Kubernetes מרכזיים זמין במאמר הסבר על Kubernetes. מידע נוסף על GKE ועל האופן שבו הוא עוזר לכם להרחיב, לבצע אוטומציה ולנהל את Kubernetes זמין במאמר סקירה כללית של GKE.
Vertex AI
Vertex AI היא פלטפורמת ה-ML המאוחדת של Google Cloud, שמאפשרת למפתחים ליצור מודלים של AI/ML, לפרוס אותם ולבצע להם התאמה לעומס (scaling). לגבי אפליקציות AI אקטיביות ב-GKE, Vertex AI מספק כלים ושירותים חיוניים, כולל גישה למודלים מסוג LLM כמו Gemini 2.5 Flash, תשתית מנוהלת לאימון ולהסקת מסקנות, ויכולות MLOps לניהול יעיל של מחזור החיים.
כשמשתמשים במודלים של LLM דרך Vertex AI API, ההסקה של המודל מתבצעת בתשתית מנוהלת של Google, ולכן אין צורך במכסות ספציפיות של GPU או TPU באשכול GKE.
מידע נוסף על Vertex AI לאפליקציות AI מבוססות-סוכנים זמין בתיעוד של Vertex AI.
Gemini 2.5 Flash
Gemini 2.5 Flash מספק תכונות מהדור הבא ויכולות משופרות שנועדו לעומסי עבודה של סוכנים, כולל מהירות גבוהה יותר, שימוש מובנה בכלי עבודה, יצירה מולטי-מודאלית וחלון הקשר של מיליון טוקנים. Gemini 2.5 Flash הוא שיפור של מודל Flash הקודם, והוא מציע איכות משופרת במהירויות דומות.
מידע טכני על Gemini 2.5 Flash (כמו נקודות השוואה של הביצועים, מידע על מערכי הנתונים לאימון, מאמצים בתחום הקיימות, שימוש מיועד ומגבלות, והגישה שלנו לאתיקה ולבטיחות) זמין בכרטיס המודל של Gemini 2.5 Flash.
מטרות
במדריך הזה נסביר איך לבצע את הפעולות הבאות:
- מגדירים את סביבת Google Cloud .
- יוצרים קובץ אימג' של קונטיינר לסוכן.
- פריסת הסוכן באשכול GKE.
- בודקים את הסוכן שפרסתם.
עלויות
במדריך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדאי לעיין בתמחור של כל שירות כדי להבין את העלויות הפוטנציאליות.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: roles/container.admin, roles/iam.serviceAccountAdmin, roles/artifactregistry.admin, roles/cloudbuild.builds.editor, roles/resourcemanager.projectIamAdmin
בדיקת התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
-
בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.
- בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.
מתן התפקידים
-
נכנסים לדף IAM במסוף Google Cloud .
כניסה לדף IAM - בוחרים את הפרויקט.
- לוחצים על Grant access.
-
בשדה New principals, מזינים את מזהה המשתמש. בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.
- לוחצים על Select a role ומחפשים את התפקיד.
- כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים אותם.
- לוחצים על Save.
-
הכנת הסביבה
במדריך הזה משתמשים ב-Cloud Shell כדי לנהל משאבים שמתארחים ב- Google Cloud.
ב-Cloud Shell מותקנת מראש התוכנה שדרושה למדריך הזה, כולל kubectl, terraform ו-Google Cloud CLI.
כדי להגדיר את הסביבה באמצעות Cloud Shell:
- במסוף Google Cloud , מפעילים סשן של Cloud Shell ולוחצים על Activate Cloud Shell.
הפעולה הזו מפעילה סשן בחלונית התחתונה של מסוף Google Cloud .
מגדירים את משתני הסביבה שמוגדרים כברירת מחדל:
gcloud config set project PROJECT_ID export GOOGLE_CLOUD_LOCATION=REGION export PROJECT_ID=PROJECT_ID export GOOGLE_CLOUD_PROJECT=$PROJECT_ID export WORKLOAD_POOL=$PROJECT_ID.svc.id.goog export PROJECT_NUMBER=$(gcloud projects describe --format json $PROJECT_ID | jq -r ".projectNumber")מחליפים את הערכים הבאים:
- PROJECT_ID: Google Cloud מזהה הפרויקט.
- REGION: האזור Google Cloud (לדוגמה,
us-central1) להקצאת אשכול GKE, Artifact Registry ומשאבים אזוריים אחרים.
שכפול פרויקט לדוגמה
בטרמינל Cloud Shell, משכפלים את מאגר המקורות של הקוד לדוגמה של המדריך:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples.gitעוברים לספריית המדריך:
cd kubernetes-engine-samples/ai-ml/adk-vertex
יצירה והגדרה של Google Cloud משאבים
כדי לפרוס את הסוכן ב-GKE, צריך להקצות את משאביGoogle Cloud הנדרשים. אפשר לפרוס את הסוכן באמצעות ה-CLI של gcloud להרצת פקודות ישירה בשורת הפקודה, או באמצעות Terraform לתשתית כקוד.
gcloud
בקטע הזה מפורטות פקודות של ה-CLI של gcloud להגדרה של אשכול GKE, Artifact Registry ואיחוד זהויות של עומסי עבודה ל-GKE, כדי לאפשר שילוב חלק עם Vertex AI. מוודאים שהגדרתם את משתני הסביבה כמו שמתואר בקטע הכנת הסביבה.
יוצרים אשכול GKE: אפשר לפרוס את האפליקציה של הסוכן שמופעל באמצעות קונטיינר באשכול GKE Autopilot או באשכול רגיל. כדי ליהנות מחוויית Kubernetes מנוהלת לחלוטין, אפשר להשתמש באשכול Autopilot. כדי לבחור את מצב הפעולה של GKE שהכי מתאים לעומסי העבודה שלכם, תוכלו לעיין במאמר בחירת מצב פעולה של GKE.
טייס אוטומטי
ב-Cloud Shell, מריצים את הפקודה הבאה:
gcloud container clusters create-auto CLUSTER_NAME \ --location=$GOOGLE_CLOUD_LOCATION \ --project=$PROJECT_IDמחליפים את CLUSTER_NAME בשם של אשכול GKE Autopilot.
רגילה
ב-Cloud Shell, מריצים את הפקודה הבאה:
gcloud container clusters create CLUSTER_NAME \ --location=$GOOGLE_CLOUD_LOCATION \ --project=$PROJECT_ID \ --release-channel=stable \ --num-nodes=1 \ --machine-type=e2-medium \ --workload-pool=$PROJECT_ID.svc.id.googמחליפים את CLUSTER_NAME בשם של אשכול Standard.
יוצרים מאגר Artifact Registry לקונטיינר Docker של הסוכן: יוצרים מאגר Artifact Registry כדי לאחסן ולנהל בצורה מאובטחת את קובץ האימג' של קונטיינר Docker של הסוכן. מאגר פרטי כזה עוזר לוודא שהאפליקציה שלכם זמינה לפריסה ב-GKE ומשתלבת עם Cloud Build.
gcloud artifacts repositories create adk-repo \ --repository-format=docker \ --location=$GOOGLE_CLOUD_LOCATION \ --project=$PROJECT_IDקבלת כתובת ה-URL של המאגר: מריצים את הפקודה הזו כדי לאמת את הנתיב המלא למאגר. בשלב הבא תשתמשו בפורמט הנתיב הזה כדי לתייג את קובץ האימג' של Docker שלכם.
gcloud artifacts repositories describe adk-repo \ --location $GOOGLE_CLOUD_LOCATION \ --project=$PROJECT_IDהענקת תפקידי IAM נדרשים לחשבון השירות שמשמש כברירת המחדל של Compute Engine: כברירת מחדל, לחשבון השירות שמשמש כברירת המחדל של Compute Engine אין הרשאות להעלאת תמונות ל-Artifact Registry, או להצגת אובייקטים ב-Cloud Storage או ביומנים. מקצים את התפקידים הנדרשים לפעולות האלה.
ROLES_TO_ASSIGN=( "roles/artifactregistry.writer" "roles/storage.objectViewer" "roles/logging.viewer" ) for ROLE in "${ROLES_TO_ASSIGN[@]}"; do gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${PROJECT_NUMBER}-compute@developer.gserviceaccount.com" \ --role="${ROLE}" doneיוצרים את קובץ האימג' של הקונטיינר של הסוכן ומעבירים אותו בדחיפה: מריצים את הפקודה הזו כדי ליצור את קובץ האימג' של Docker ולהעביר אותו בדחיפה ל-Artifact Registry. מוודאים שקובץ ה-Dockerfile וקוד האפליקציה נמצאים בספרייה
/app.export IMAGE_URL="${GOOGLE_CLOUD_LOCATION}-docker.pkg.dev/${PROJECT_ID}/adk-repo/adk-agent:latest" gcloud builds submit \ --tag "$IMAGE_URL" \ --project="$PROJECT_ID" \ appמוודאים שהתמונה נדחפה:
gcloud artifacts docker images list \ $GOOGLE_CLOUD_LOCATION-docker.pkg.dev/$PROJECT_ID/adk-repo/adk-agent \ --project=$PROJECT_ID
Terraform
בקטע הזה מוסבר איך להשתמש ב-Terraform כדי להקצות את המשאבים Google Cloud. מאגר הדוגמאות ששיבטתם כולל את קובצי התצורה הנדרשים של Terraform.
מפעילים את Terraform: עוברים לספרייה
terraformומפעילים את Terraform.terraform initבודקים את תוכנית הביצוע: הפקודה הזו מציגה את השינויים בתשתית ש-Terraform תבצע.
terraform plan -var-file=default_env.tfvarsהחלת ההגדרות: מריצים את תוכנית Terraform כדי ליצור את המשאבים ב Google Cloud פרויקט. מאשרים באמצעות
yesכשמוצגת הבקשה.terraform apply -var-file=default_env.tfvarsאחרי שמריצים את הפקודות האלה, Terraform מקצה את אשכול GKE ואת מאגר Artifact Registry, ומגדיר את חשבונות השירות ואת תפקידי ה-IAM הנדרשים, כולל איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE.
מידע נוסף על שימוש ב-Terraform זמין במאמר תמיכה ב-Terraform ב-GKE.
הגדרה של kubectl לתקשורת עם האשכול
אם לא הגדרתם את kubectl לתקשורת עם האשכול, מריצים את הפקודה הבאה:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=${GOOGLE_CLOUD_LOCATION}
מחליפים את CLUSTER_NAME בשם של אשכול GKE.
הגדרת איחוד זהויות של עומסי עבודה ל-GKE
אם אתם משתמשים ב-Terraform, אתם יכולים לדלג על השלב הזה. בתהליך הזה מקשרים חשבון שירות של Kubernetes (KSA) לחשבון שירות של IAM כדי להעניק לסוכן גישה מאובטחת לשירותי Google Cloud .
יוצרים חשבון שירות לגישה ל-Vertex AI:
gcloud iam service-accounts create vertex-sa \ --project=$PROJECT_IDמקצים לחשבון השירות את התפקיד
aiplatform.user. כך חשבון השירות יכול ליצור אינטראקציה עם Vertex AI.gcloud projects add-iam-policy-binding $PROJECT_ID \ --member "serviceAccount:vertex-sa@$PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/aiplatform.user"יוצרים KSA באשכול. לפני שמריצים את הפקודה הזו, חשוב לפעול לפי ההוראות במאמר הגדרת
kubectlלתקשורת עם האשכול.kubectl create serviceaccount vertex-saמוסיפים הערה למפתח ה-KSA כדי לקשר אותו לחשבון השירות:
kubectl annotate serviceaccount vertex-sa \ iam.gke.io/gcp-service-account=vertex-sa@$PROJECT_ID.iam.gserviceaccount.comנותנים לחשבון השירות הרשאות לפעול כמשתמש ב-Workload Identity Federation for GKE עבור KSA:
gcloud iam service-accounts add-iam-policy-binding vertex-sa@$PROJECT_ID.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:$PROJECT_ID.svc.id.goog[default/vertex-sa]"
פריסה והגדרה של אפליקציית הסוכן
אחרי שמגדירים את Google Cloud המשאבים, מכינים את אפליקציית הסוכן לפריסה ומגדירים את זמן הריצה שלה ב-GKE. התהליך כולל הגדרה של קוד הסוכן, יצירה של קובץ Dockerfile כדי להכניס אותו לקונטיינר וכתיבה של מניפסט Kubernetes כדי לפרוס אותו באשכול.
- הסבר על מבנה אפליקציית הסוכן: התיקייה
/appמכילה את קובצי הליבה של אפליקציית הסוכן:-
main.py: נקודת הכניסה של אפליקציית FastAPI, שאחראית לחשיפת ה-API של הסוכן. -
agent.py: מכיל את הלוגיקה של סוכן ADK, ומגדיר איך הוא משתמש ב-Vertex AI ומטפל בבקשות. -
__init__.py: מאתחל את חבילת Python. -
requirements.txt: מציג את כל התלויות של Python בסוכן. -
Dockerfile: מגדיר איך האפליקציה שלכם נארזת כתמונת Docker.
-
יוצרים את מניפסט הפריסה של הסוכן: בספרייה
tutorials-and-examples/adk/vertex, יוצרים את המניפסט הבא כקובץ בשםagent-deployment.yaml:apiVersion: apps/v1 kind: Deployment metadata: name: adk-agent-deployment labels: app: adk-agent # Identifies the workload as an AI agent and adds it to the registry registry.gke.io/functional-type: "AGENT" spec: replicas: 1 selector: matchLabels: app: adk-agent template: metadata: labels: app: adk-agent spec: serviceAccountName: vertex-sa containers: - name: adk-agent image: IMAGE_URL ports: - containerPort: 8000 env: - name: GOOGLE_CLOUD_PROJECT_ID value: PROJECT_ID - name: GOOGLE_CLOUD_LOCATION value: REGION - name: GOOGLE_GENAI_USE_VERTEXAI value: "1" - name: PORT value: "8000" resources: requests: memory: "512Mi" cpu: "500m" limits: memory: "1Gi" cpu: "1"מחליפים את הערכים הבאים:
- IMAGE_URL: כתובת ה-URL המלאה של קובץ אימג' של Docker שדחפתם אל Artifact Registry (לדוגמה,
us-central1-docker.pkg.dev/${PROJECT_ID}/adk-repo/adk-agent:latest). אפשר לקבל את הערך הזה מהפלט של הפקודהgcloud artifacts docker images listבקטע הקודם. אפשר גם להריץ פקודה כמו הבאה:sed -i "s|image: IMAGE_URL|image: $IMAGE_URL|" agent-deployment.yaml. - PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- REGION: Google Cloud האזור שבו מוקצה אשכול GKE.
- IMAGE_URL: כתובת ה-URL המלאה של קובץ אימג' של Docker שדחפתם אל Artifact Registry (לדוגמה,
החלת מניפסט הפריסה:
kubectl apply -f agent-deployment.yamlהפקודה הזו יוצרת את הפריסה ואת ה-Pods המשויכים לאפליקציית הסוכן באשכול GKE, ורושמת את הסוכן במאגר הסוכנים.
חשיפת הסוכן: אתם יכולים להשתמש בשיטות האלה כדי לחשוף את הסוכן לצורך גישה.
- כדי לגשת לסוכן מחוץ לאשכול, צריך ליצור שירות Kubernetes.
ב-Web API, שירות מסוג
LoadBalancerהוא נפוץ. כדי לגשת לסוכן ישירות, משתמשים בפקודה
kubectl port-forwardלפיתוח ולבדיקות מקומיות.
LoadBalancer
יוצרים את קובץ המניפסט הבא בשם
agent-service.yaml:apiVersion: v1 kind: Service metadata: name: adk-agent-service spec: selector: app: adk-agent type: LoadBalancer # Creates an external IP address for access ports: - protocol: TCP port: 80 targetPort: 8000 # Matches the containerPort exposed in the Deploymentהחלת המניפסט:
kubectl apply -f agent-service.yamlיכול להיות שיחלפו כמה דקות עד שהקצאת כתובת ה-IP החיצונית תושלם.
מוודאים שכתובת ה-IP הוקצתה:
kubectl get service adk-agent-serviceמחפשים את הערך
EXTERNAL-IPבפלט. אחרי שהערך יהיה זמין, תוכלו להשתמש בכתובת ה-IP הזו כדי ליצור אינטראקציה עם הסוכן שפרסתם.
port-forward
אם אתם משתמשים בעיקר ב-
port-forward, כדאי להשתמש בסוג השירותClusterIPבמקום ב-LoadBalancer, כי שירותClusterIPהוא פנימי וצורכת פחות משאבים.POD_NAME=$(kubectl get pods -l app=adk-agent -o jsonpath='{.items[0].metadata.name}') kubectl port-forward $POD_NAME 8000:8000הפקודה הזו חוסמת את הטרמינל, אבל היא מעבירה תעבורה מ-
localhost:8000במחשב שלכם לסוכן שפועל בתוך אשכול GKE.- כדי לגשת לסוכן מחוץ לאשכול, צריך ליצור שירות Kubernetes.
ב-Web API, שירות מסוג
בדיקה של הסוכן הפעיל
אחרי שפורסים את אפליקציית הסוכן וחושפים אותה, צריך לבדוק את הפונקציונליות שלה.
בקטע הזה מוסבר איך לזהות את נקודת הקצה של הסוכן ולבדוק את ה-API של הסוכן.
מזהים את נקודת הקצה של הסוכן: בהתאם לאופן שבו בחרתם לחשוף את הסוכן בקטע הקודם, מזהים את נקודת הקצה הנגישה שלו:
LoadBalancer
מאחזרים את כתובת ה-IP החיצונית:
kubectl get service adk-agent-service -o jsonpath='{.status.loadBalancer.ingress[0].ip}'כדי להקל על השימוש, מאחסנים את כתובת ה-IP החיצונית במשתנה סביבה:
export AGENT_IP=$(kubectl get service adk-agent-service -o jsonpath='{.status.loadBalancer.ingress[0].ip}')כתובת ה-URL הבסיסית של הסוכן היא
http://${AGENT_IP}.
port-forward
מוודאים שהפקודה
kubectl port-forwardפועלת במסוף נפרד. כתובת ה-URL הבסיסית של הסוכן היאhttp://localhost:8000.בדיקת ה-API של הסוכן: כדי לבדוק את ה-API של הסוכן, שולחים בקשת curl לנקודת הקצה (endpoint)
/runשלו. הסוכן מצפה למטען ייעודי (payload) מסוג JSON עם שדה הודעה. מחליפים את AGENT_BASE_URL ב-http://${AGENT_IP}(בשביל LoadBalancer) או ב-http://localhost:8000(בשביל port-forward).יוצרים סשן חדש. הפעולה הזו מכינה את הנציג לשיחה חדשה.
# The user ID and session ID are arbitrary. # The appName must match the agent's Python package directory name (in this case, "capital_agent"). curl -X POST AGENT_BASE_URL/apps/capital_agent/users/user-123/sessions/session-123אפשר להציג את רשימת האפליקציות הזמינות באמצעות הפקודה הבאה:
curl -X GET AGENT_BASE_URL/list-appsשולחים שאילתה לנציג באמצעות פרטי הסשן מהשלב הקודם.
curl -X POST AGENT_BASE_URL/run \ -H "Content-Type: application/json" \ -d '{ "appName": "capital_agent", "userId": "user-123", "sessionId": "session-123", "newMessage": { "role": "user", "parts": [{ "text": "Hello, agent! What can you do for me?" }] } }'אתם אמורים לקבל תגובת JSON מהסוכן, שמציינת שהוא מעבד את הבקשות בהצלחה ומקיים אינטראקציה עם מודל Gemini דרך Vertex AI. התשובה תכיל את התשובה שנוצרה על ידי הסוכן על סמך ההודעה שלכם.
גישה לממשק המשתמש של הסוכן באינטרנט (אם רלוונטי): אם הסוכן כולל ממשק משתמש מבוסס-אינטרנט, אפשר לגשת אליו על ידי מעבר אל AGENT_BASE_URL בדפדפן אינטרנט. ערכת ה-ADK כוללת בדרך כלל ממשק משתמש בסיסי לאינטרנט לצורך אינטראקציה וניפוי באגים. לדוגמה, אם חשפתם את הסוכן באמצעות LoadBalancer וכתובת ה-IP שלו היא
EXTERNAL-IP, צריך לעבור אלhttp://34.123.45.67בדפדפן.34.123.45.67
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת המשאבים שנפרסו
כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שיצרתם במדריך הזה, מריצים את הפקודות הבאות:
gcloud
gcloud container clusters delete CLUSTER_NAME \
--location=${GOOGLE_CLOUD_LOCATION} \
--project=$PROJECT_ID
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:vertex-sa@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/aiplatform.user"
gcloud iam service-accounts delete vertex-sa@$PROJECT_ID.iam.gserviceaccount.com
gcloud artifacts repositories delete adk-repo \
--location=$GOOGLE_CLOUD_LOCATION \
--project=$PROJECT_ID
מחליפים את CLUSTER_NAME בשם של אשכול GKE.
Terraform
בטרמינל של Cloud Shell, נכנסים לספרייה
tutorials-and-examples/adk/vertex/:cd tutorials-and-examples/adk/vertex/מריצים את הפקודה הזו כדי להסיר את כל המשאבים שהוגדרו בקובצי ההגדרות של Terraform.
cd terraform terraform destroy
המאמרים הבאים
- כך מגדירים את Horizontal Pod Autoscaler (HPA) כדי להתאים באופן אוטומטי את משאבי הסוכן לפי דרישה.
- כאן מוסבר איך להגדיר שרת proxy לאימות זהויות (IAP) לאפליקציות האינטרנט שפועלות ב-Google Cloud, כדי לספק הרשאה מרכזית לגישה לממשק המשתמש של הסוכן.
- איך משתמשים ב-Cloud Logging וב-Cloud Monitoring כדי לקבל תובנות לגבי הביצועים והתקינות של הסוכן באשכול GKE.
- אתם יכולים לעיין בדוגמאות ניסיוניות ב-GKE AI Labs שיעזרו לכם להשתמש ב-GKE כדי להאיץ את היוזמות שלכם בתחום ה-AI האקטיבי.