בדף הזה מוסבר איך ליצור ולנהל נקודות קצה (endpoints) של Gemini ב-Google Distributed Cloud במודל מחובר API.
דרישות מוקדמות
בקטע הזה מוסבר על השלבים שצריך לבצע פעם אחת כדי לפרוס את Gemini בנקודות קצה של API שמחוברות ל-GDC. משלימים את השלבים במכונת ההפעלה.
כדי להשלים את השלבים שמפורטים בקטע הזה, צריך להשתמש בחשבון אדמין IT עם התפקיד Edge Container Zone Viewer. אחרי שמבצעים את השלבים בקטע הזה, צריך לספק את המידע שנאסף, כולל אישור ה-CA וכתובת ה-IP של שרת ה-DNS, לאדמין של הפרויקט ב- Google Cloud שמבצע את פריסת נקודת קצה ל-API של Gemini ב-GDC במודל מחובר כמו שמתואר במאמר פריסת נקודת קצה ל-API של Gemini ב-GDC במודל מחובר.
השלמת הפעלת החומרה
לפני שמבצעים את השלבים בדף הזה, צריך:
מבצעים פריסה של הציוד שאושר על ידי Google, כמו שמתואר בדרישות ההתקנה.
כדי ליצור את האשכולות הנדרשים שמחוברים ל-Distributed Cloud, אפשר להיעזר בנציג Google.
הקצאת התפקידים הנדרשים
אתם צריכים להגדיר את התפקידים הנדרשים הבאים:
לחשבונות שמשמשים לניהול הפריסה של Gemini ב-GDC שמחובר ל-API, צריך להקצות את התפקידים שמפורטים במאמר תפקידים והרשאות ב-Distributed Cloud Edge Container API.
בחשבונות שמשמשים לאינטראקציה עם Gemini בנקודות קצה של API שמחוברות ל-GDC, צריך להקצות את התפקידים שמפורטים במאמר תפקידים והרשאות ב-Vertex AI API.
קבלת מידע על אזור היעד של Distributed Cloud במודל מחובר
כדי לקבל את השם של אזור היעד שלכם ב-Distributed Cloud במודל מחובר:
מקבלים את השם של מזהה הארגון Google Cloud של היעד:
gcloud organizations list
כדי להציג רשימה של אזורים מחוברים של Distributed Cloud בארגון Google Cloud :
gcloud alpha edge-cloud zones list \ --organization ORGANIZATION_ID \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ORGANIZATION_ID: המזהה של הארגון Google Cloud שמשמש כיעד. -
REGION: האזור שבו נוצר אזור היעד של Google Cloud Google Distributed Cloud במודל מחובר. במהלך תקופת ה-Public Preview, האזור הנתמך היחיד הואus-west2.
-
לקבל מידע מפורט על אזור היעד:
gcloud alpha edge-cloud zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ZONE: אזור היעד של Distributed Cloud במודל מחובר. -
ORGANIZATION_ID: המזהה של הארגון Google Cloud שמשמש כיעד. -
REGION: האזור שבו נוצר אזור היעד של Google Cloud Google Distributed Cloud במודל מחובר. במהלך תקופת ה-Public Preview, האזור הנתמך היחיד הואus-west2.
-
קבלת מידע על המכונות המוסמכות באזור המחובר של Distributed Cloud
כדי לקבל את השמות של המכונות המוסמכות שלכם באזור המחובר של Distributed Cloud, מבצעים את הפעולות הבאות:
מפרטים את המכונות של Distributed Cloud במודל מחובר באזור היעד של Distributed Cloud במודל מחובר, כמו שמתואר במאמר רשימת מכונות באזור.
מקבלים מידע מפורט על מכונת היעד, כמו שמתואר במאמר קבלת מידע על מכונה.
הפעלה של שירותי AI Platform API ו-Vertex AI API מקומיים
כדי להשלים את השלבים שבקטע הזה, צריך להשתמש בחשבון אדמין ב-IT עם התפקיד Edge Container Zonal Project Admin.
מפעילים את פרויקט Google Cloud היעד באזור המחובר של Distributed Cloud:
gcloud alpha edge-cloud projects enable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zone ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
ORGANIZATION_ID: המזהה של הארגון Google Cloud שמשמש כיעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
-
מפעילים את השירות AI Platform בפרויקט היעד: Google Cloud
gcloud services enable aiplatform.googleapis.com --project PROJECT_ID
מחליפים את
PROJECT_IDבמזהה של פרויקט Google Cloud היעד.מפעילים את שירות Vertex AI API באזור המחובר של Distributed Cloud:
gcloud alpha edge-cloud services enable aiplatform.googleapis.com --project PROJECT_ID \ --location REGION \ --zone ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: ה Google Cloud אזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
-
הגדרת נקודת הקצה לפתרון DNS
מקבלים את כתובת ה-DNS המנוהל, הדומיין ברמה העליונה (TLD) והאישור של רשות האישורים (CA) לאזור המחובר של Distributed Cloud.
gcloud alpha edge-cloud zones describe ZONE \ --organization ORGANIZATION_ID \ --location REGION \ --format="value(certificateAuthorities)" \ > CA_CERTIFICATE_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
ORGANIZATION_ID: המזהה של הארגון Google Cloud שמשמש כיעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר. CA_CERTIFICATE_FILE: הקובץ שבו נשמר פלט מטען הייעודי (payload) של האישור מהפקודה. בהמשך תשתמשו בקובץ הזה כדי ליצור את המפתח של חשבון השירות.
פלט שדומה לזה יישמר בקובץ:
-----BEGIN CERTIFICATE----- MIIDATCCAemgAwIBAgIRAOsIG15loHwPBpjQe9FZYUAwDQYJKoZIhvcNAQELBQAw GjEYMBYGA1UEAxMPZ2RjZS1jbHVzdGVyLWNhMB4XDTI1MDcyOTEyMTAwNloXDTQ5 MDcyMzEyMTAwNlowGjEYMBYGA1UEAxMPZ2RjZS1jbHVzdGVyLWNhMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3YdoASubyzHdgZ0vIU5g1dxdFRT1T4wc o9FaRXftSTDfiNVNKj/vC+De9EZokpyLZkdZNep6p0TLJAsPZYq+yiTCiaJ6Ihwy 3LBn8j2PessSIte2LUhkft1yCQqfkgpYfKcjM3IauIXETS961m0uJb4sntgLJ4nM Scb5vpW1f70D1V27bqnEsE7+rbxzeFTosHC+DGBcLqIE0ptdionm/4xoltH7yv2O qKfcc/46TyPwGRzxifEdNzjKZ1kRdTThESfW+L7TQNv6VF5TC4FPksYX/ID/X7Fz G9BRey0mikvc4J7qQIeyMRlpIKqRh/1FCdRDC9vVEQipT2Ls0MwwTwIDAQABo0Iw QDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUmES2 pyMLOnnsKug8amFmenOaTr8wDQYJKoZIhvcNAQELBQADggEBADn71zo7cNFZ0kQE C2lS6b0DLz4Nd1yCz5fGDvxzcTRdOT60wyq/TAx1YlYse33cGk/cQ7RkVsM56UX1 T8RMvi09UcEQG3wFrYuU62ZjXF1a3RrOnHxyvVdyvbUYAO5gvzBQrj4tMZYX9kL3 6H/9FwXuHVyqWAm0xpWvZfszwJjY4C1VxoDwmRiZPYzTrWI6/rY0QmORgcZXLnPL OVufbAX30aRGdTRnVXxE0fKmXwzbtbSHilU5hJT7EQWMvV5hJfyNqdXG0gbrhrsk sB0yRjk5PHQd9pOMcXcYIgfNnUEcQl4qeSll3g5cZ+cRrcTO1USFLRo8dcbQpJ6Y 6ykzvKs= -----END CERTIFICATE----- createTime: '2025-08-25T20:46:50.269384028Z' dnsServers: - ipAddress: DNS_SERVER_ADDRESS tld: TOP_LEVEL_DOMAIN name: organizations/ORGANIZATION_ID/locations/REGION/zones/ZONE state: STATE_RUNNING
-
יוצרים את הגדרות ה-DNS לנקודת הקצה באופן הבא, באמצעות כתובת ה-IP של שרת ה-DNS ושם הדומיין ברמה העליונה (TLD) שהתקבלו בשלב הקודם. צריך להריץ את הפקודה הזו ממכונה שנמצאת באותה רשת מקומית כמו המכונה שאושרה לשימוש ב-API שמחובר ל-Gemini ב-GDC.
mkdir /etc/systemd/resolved.conf.d echo '[Resolve] DNS=DNS_SERVER_ADDRESS Domains=~TOP_LEVEL_DOMAIN' > /etc/systemd/resolved.conf.d/dns.conf sudo systemctl restart systemd-resolved
מחליפים את מה שכתוב בשדות הבאים:
-
DNS_SERVER_ADDRESS: כתובת ה-IP של שרת ה-DNS. -
TOP_LEVEL_DOMAIN: הדומיין ברמה העליונה של נקודת הקצה.
-
פריסת נקודת קצה ל-API של Gemini ב-GDC במודל מחובר
כדי לפרוס נקודת קצה ל-API של Gemini ב-GDC במודל מחובר, צריך לבצע את הפעולות הבאות באמצעות חשבון אדמין של Google Cloud פרויקט:
יוצרים את נקודת הקצה:
gcloud beta ai endpoints create \ --project=PROJECT_ID \ --region=REGION \ --gdc-zone=ZONE \ --display-name=ENDPOINT_NAME \ --endpoint-id=ENDPOINT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר. -
ENDPOINT_NAME: שם משמעותי לנקודת הקצה הזו. -
ENDPOINT_ID: (אופציונלי) מזהה ייחודי של נקודת הקצה הזו. אם לא מציינים מזהה, נוצר מזהה אקראי.
-
פריסת המודל:
gcloud beta ai endpoints deploy-model ENDPOINT_ID \ --display-name=ENDPOINT_NAME \ --model=MODEL_PUBLIC_ID \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: המזהה של נקודת הקצה של היעד. -
ENDPOINT_NAME: השם של נקודת הקצה של היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
MODEL_PUBLIC_ID: המזהה של המודל שגלוי לציבור. רשימה של הדגמים הנתמכים מופיעה במאמר דגמים נתמכים.
-
מציגים את נקודות הקצה שנפרסו:
gcloud beta ai endpoints list \ --project=PROJECT_ID \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
חשוב לזכור את המזהה של נקודת הקצה של היעד.
-
מקבלים את כתובת נקודת הקצה:
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: המזהה של נקודת הקצה של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: ה Google Cloud אזור שבו נוצר אזור ה יעד של Google Distributed Cloud במודל מחובר.
-
יוצרים את חשבון השירות לנקודת הקצה באזור המחובר של Distributed Cloud:
gcloud alpha edge-cloud service-accounts create SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --zone ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT: שם בעל משמעות שמזהה באופן ייחודי את חשבון השירות הזה. השם הזה יכול לכלול רק אותיות קטנות, מספרים, '-' או '.', והוא חייב להתחיל ולהסתיים בתו אלפאנומרי. אסור להשתמש באותיות רישיות. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
-
מקבלים את מדיניות ניהול הזהויות והרשאות הגישה (IAM) של אזור היעד המחובר ל-Distributed Cloud:
gcloud alpha edge-cloud zones get-iam-policy ZONE \ --project PROJECT_ID \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ZONE: אזור היעד של Distributed Cloud במודל מחובר. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
מעתיקים את פלט מטען הייעודי (payload) המדיניות מהפקודה הזו ושומרים אותו בקובץ (לדוגמה,
policy.jsonאוpolicy.yaml) כדי לערוך אותו בשלב הבא.-
מקצים לחשבון השירות את התפקיד AI Platform Developer:
gcloud alpha edge-cloud zones set-iam-policy POLICY_FILE \ --project PROJECT_ID \ --location REGION \ --zone ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_FILE: קובץ JSON או YAML שמכיל את מדיניות הקצאת התפקידים. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
דוגמה למדיניות בפורמט JSON:
{ "bindings": [ { "role": "roles/aiplatform.geminiDeveloper", "members": [ { "serviceAccount": "projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT" } ] } ], "etag": "" }דוגמה למדיניות בפורמט YAML:
bindings: - role: roles/aiplatform.geminiDeveloper members: - serviceAccount: projects/PROJECT_ID/locations/REGION/serviceAccounts/SERVICE_ACCOUNT etag: ""
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
SERVICE_ACCOUNT: שם בעל משמעות שמזהה באופן ייחודי את חשבון השירות הזה.
-
מגדירים אימות באמצעות אחת מהשיטות שמתוארות בסעיפים הבאים.
הגדרת אימות באמצעות טוקן bearer
כדי להגדיר אימות של נקודת קצה באמצעות טוקן bearer, צריך לבצע את השלבים שמפורטים בקטע הזה.
יוצרים מפתח לחשבון השירות:
gcloud alpha edge-cloud service-accounts keys create SA_KEY_FILE \ --service-account SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --ca-cert-path CA_CERTIFICATE_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
SA_KEY_FILE: הקובץ שבו יישמר המפתח שנוצר לחשבון השירות. -
SERVICE_ACCOUNT: חשבון השירות שיצרתם קודם במדריך הזה. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
CA_CERTIFICATE_FILE: קובץ אישור CA שיצרתם קודם.
-
מקבלים את כתובת ה-URL המוגדרת במלואה של נקודת הקצה:
gcloud beta ai endpoints describe ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: מזהה נקודת הקצה של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
-
הדפסת אסימון הזהות של חשבון השירות. צריך להריץ את הפקודה הזו ממכונה שנמצאת באותה רשת מקומית כמו מכונת Gemini on GDC המוסמכת לחיבור API.
gcloud alpha edge-cloud auth print-identity-token \ --cred-file=SA_KEY_FILE \ --audience=ENDPOINT_URL
מחליפים את מה שכתוב בשדות הבאים:
-
SA_KEY_FILE: קובץ המפתח של חשבון השירות שיצרתם קודם. -
ENDPOINT_URL: כתובת ה-URL המוגדרת במלואה של נקודת הקצה, כולל הסיומת של הדומיין העליון.
-
הגדרת אימות באמצעות מפתח API
כדי להגדיר אימות של נקודת קצה באמצעות מפתח API, צריך לבצע את השלבים שבקטע הזה.
יוצרים את מפתח ה-API:
gcloud alpha edge-cloud api-keys create API_KEY_ID \ --service-account SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGION \ --zone ZONE \ --validity VALIDITY
מחליפים את מה שכתוב בשדות הבאים:
-
API_KEY_ID: מזהה ייחודי של מפתח ה-API הזה. -
SERVICE_ACCOUNT: חשבון השירות שיצרתם קודם במדריך הזה. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר. -
<var>VALIDITY</var>: (אופציונלי) משך התוקף של המפתח (לדוגמה,3600s, 1h, 1dאו366d). משך ברירת המחדל ומשך הזמן המקסימלי המותר הוא366d.
-
מאחזרים את מטען הנתונים של מפתח ה-API:
gcloud alpha edge-cloud api-keys describe API_KEY_ID \ --project=PROJECT_ID \ --location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
API_KEY_ID: המזהה של מפתח ה-API שהגדרתם בשלב הקודם. -
SERVICE_ACCOUNT: חשבון השירות שבו השתמשתם כדי ליצור את מפתח ה-API. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
-
הצגת רשימה של נקודות קצה של Gemini API שנפרסו ב-GDC במודל מחובר
כדי להציג את נקודות הקצה של ה-API של Gemini שנפרסו ב-GDC במודל מחובר, צריך:
gcloud beta ai endpoints list \
--project=PROJECT_ID \
--region=REGION \
--gdc-zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
קבלת מידע על נקודת קצה של API שמקושרת ל-Gemini ב-GDC
כדי לקבל מידע על נקודת קצה ל-API של Gemini ב-GDC במודל מחובר שפרסתם, מבצעים את הפעולות הבאות:
gcloud beta ai endpoints describe ENDPOINT_ID \
--project=PROJECT_ID \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: המזהה של נקודת הקצה של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
איך משתמשים בנקודת קצה (endpoint) של API מחובר ל-Gemini ב-Google Distributed Cloud
נקודת קצה ל-API של Gemini ב-GDC במודל מחובר תומכת באינטראקציה דרך ChatCompletions API ו-ListAvailableModels API. משתמשים בממשקי ה-API האלה כדי לבצע אינטראקציה פרוגרמטית עם נקודת הקצה.
הנה דוגמה לבקשה דרך ChatCompletions API. אסימון ה-bearer שנוצר
בבקשה הזו תקף ל-12 שעות.
מגדירים את המשתנים הבאים בסביבת המעטפת:
MODEL_PROMPT_ID="MODEL_PROMPT_ID" USER_CONTENT="Who invented the light bulb?" PROJECT="PROJECT_ID" LOCATION="REGION" IG_FQDN="inference-gateway.vai.ZONE.google.private.goog" CRED_FILE="SA_KEY_FILE" API_ENDPOINT="https://${IG_FQDN}/v1/projects/${PROJECT}/locations/${LOCATION}/chat/completions"מחליפים את מה שכתוב בשדות הבאים:
-
MODEL_NAME: השם של מודל היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
SA_KEY_FILE: קובץ המפתח של חשבון השירות שיצרתם קודם.
-
בניית המטען הייעודי (payload):
REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_PROMPT_ID}", "messages": [ { "role": "system", "content": "Pizza for everyone!" }, { "role": "user", "content": "${USER_CONTENT}" } ], "stream": false } EOF )מבצעים אימות לנקודת הקצה באחת מהשיטות הבאות:
- מדפיסים את הטוקן למוכ"ז. צריך להריץ את הפקודה הזו ממכונה שנמצאת באותה רשת מקומית כמו מכונת Gemini on GDC במודל מחובר עם אישור לחיבור API:
BEARER_TOKEN=$(gcloud alpha edge-cloud auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}") echo $BEARER_TOKEN- מדפיסים את מפתח ה-API. אפשר להריץ את הפקודה הזו מרחוק ממכונה שלא נמצאת באותה רשת מקומית כמו מכונת Gemini on GDC במודל מחובר עם אישור ל-API המחובר:
API_KEY=$(gcloud alpha edge-cloud api-keys describe "${API_KEY_ID}" --project "${PROJECT}" --location "${LOCATION}" --format="value(key)") echo $API_KEYשולחים את הבקשה לנקודת הקצה באחת מהשיטות הבאות.
- שולחים את הבקשה עם טוקן bearer לאימות. צריך להריץ את הפקודה הזו ממכונה שנמצאת באותה רשת מקומית כמו מכונת Gemini on GDC במודל מחובר עם אישור לחיבור API:
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"- שולחים את הבקשה עם אימות באמצעות מפתח API. אפשר להריץ את הפקודה הזו מרחוק ממכונה שלא נמצאת באותה רשת מקומית כמו מכונת Gemini on GDC במודל מחובר עם אישור ל-API המחובר:
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "x-goog-api-key: ${API_KEY}"
דוגמה לבקשת API ChatCompletions מולטי-מודאלית עם מטען ייעודי (payload) של תמונה בפורמט JPEG
הנה דוגמה למטען ייעודי (payload) של בקשת API מרובת-אופנים ChatCompletions עם תמונת JPEG כקלט:
בניית המטען הייעודי (payload):
BASE64_IMAGE=$(base64 -w 0 JPEG_FILE) REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_PROMPT_ID}", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "What is this image?" }, { "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,${BASE64_IMAGE}" } } ] } ] } EOF )שולחים את הבקשה לנקודת הקצה. צריך להריץ את הפקודה הזו ממחשב שנמצא באותה רשת מקומית כמו מחשב Gemini on GDC מוסמך שמחובר ל-API.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
דוגמה לבקשת API ChatCompletions מולטי-מודאלית עם מטען ייעודי (payload) של מסמך PDF
הנה דוגמה למטען ייעודי (payload) של בקשת ChatCompletions API מולטי-מודאלית עם מסמך PDF כקלט:
בניית המטען הייעודי (payload):
BASE64_PDF=$(base64 -w 0 PDF_FILE) REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_PROMPT_ID}", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Please summarize this document." }, { "type": "input_document", "input_document": { "data": "data:application/pdf;base64,${BASE64_PDF}", "format": "pdf" } } ] } ] } EOF )שולחים את הבקשה לנקודת הקצה. צריך להריץ את הפקודה הזו ממחשב שנמצא באותה רשת מקומית כמו מחשב Gemini on GDC מוסמך שמחובר ל-API.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
דוגמה לבקשת API רב-מודיאלית ChatCompletions עם מטען ייעודי (payload) של אודיו
הנה דוגמה למטען ייעודי (payload) של בקשת API ChatCompletions עם קובץ אודיו כקלט:
בניית המטען הייעודי (payload):
BASE64_AUDIO=$(base64 -w 0 AUDIO_FILE) REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_PROMPT_ID}", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Transcribe this speech for me." }, { "type": "input_audio", "input_audio": { "data": "data:audio/mp3;base64,${BASE64_AUDIO}", "format": "mp3" } } ] } ] } EOF )שולחים את הבקשה לנקודת הקצה. צריך להריץ את הפקודה הזו ממחשב שנמצא באותה רשת מקומית כמו מחשב Gemini on GDC מוסמך שמחובר ל-API.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
דוגמה לבקשת ChatCompletions API רב-מודאלית עם מטען ייעודי (payload) של סרטון
הנה דוגמה למטען ייעודי (payload) של בקשת API מולטי-מודאלית ChatCompletions עם קובץ וידאו כקלט:
בניית המטען הייעודי (payload):
BASE64_VIDEO=$(base64 -w 0 VIDEO_FILE) REQUEST_BODY=$(cat <<EOF { "model": "${MODEL_PROMPT_ID}", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Could you summarize this video for me?" }, { "type": "input_video", "input_video": { "data": "data:video/wmv;base64,${BASE64_VIDEO}", "format": "wmv" } } ] } ] } EOF )שולחים את הבקשה לנקודת הקצה. צריך להריץ את הפקודה הזו ממחשב שנמצא באותה רשת מקומית כמו מחשב Gemini on GDC במודל מחובר שאושר לשימוש ב-API.
curl -k -X POST \ "${API_ENDPOINT}" \ -d "${REQUEST_BODY}" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${BEARER_TOKEN}" \ -H "x-goog-user-project: projects/${PROJECT}"
דוגמה לבקשת API של ListAvailableModels
הנה דוגמה לבקשת ListAvailableModels API:
BEARER_TOKEN=$(gcloud alpha edge-cloud auth print-identity-token --cred-file="${CRED_FILE}" --audience="https://${IG_FQDN}")
# The request body -d parameter is intentionally omitted.
grpcurl -insecure \
-H "Authorization: Bearer ${BEARER_TOKEN}" \
-H "x-goog-user-project: projects/${PROJECT}" \
"${IG_FQDN}" \
cloud.gdc.ai.inference.inferencegateway.GeminiMetadataService.ListAvailableModels
מחיקת נקודת קצה ל-API של Gemini on Google Distributed Cloud במודל מחובר
כדי למחוק נקודת קצה ל-API שמקושרת ל-Gemini on GDC:
ביטול הפריסה של המודל:
gcloud beta ai endpoints undeploy-model ENDPOINT_ID \ --region=REGION \ --deployed-model-id=DEPLOYED_MODEL_ID
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: המזהה של נקודת הקצה של היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud -
DEPLOYED_MODEL_ID: המזהה של המודל שפריסתו הושלמה.
-
מחיקת נקודת הקצה:
gcloud beta ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_ID: המזהה של נקודת הקצה של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: האזור שבו נוצר אזור היעד של Google Distributed Cloud במודל מחובר. Google Cloud
-
מחיקת משאבים של נקודות קצה
כדי לנקות את המשאבים שמשויכים לנקודת קצה, צריך לבצע את השלבים שבקטע הזה.
מוחקים את נקודת הקצה ומבטלים את הפריסה של המודל המשויך, כמו שמתואר במאמר מחיקת נקודת קצה של API שמחובר ל-Gemini ב-Google Distributed Cloud.
אם הגדרתם את נקודת הקצה לאימות באמצעות מפתח API, צריך למחוק את מפתח ה-API הזה:
gcloud alpha edge-cloud api-keys delete API_KEY_ID \ --project PROJECT_ID \ --location REGIONמחליפים את מה שכתוב בשדות הבאים:
-
API_KEY_ID: המזהה של מפתח ה-API של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: Google Cloud האזור.
-
מוחקים את חשבון השירות שמשויך לנקודת הקצה:
gcloud alpha edge-cloud service-accounts delete SERVICE_ACCOUNT \ --project PROJECT_ID \ --location REGIONמחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT: השם של חשבון השירות של היעד. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: Google Cloud האזור של פרויקט היעד Google Cloud .
-
משביתים את מופע השירות של Agent Platform שמשויך לנקודת הקצה:
מציגים את רשימת השירותים שנפרסו בפרויקט ורושמים את ערך ה-UUID של מופע השירות של פלטפורמת הסוכן (
VERTEX) שמוחזר בשדהnameשלו:gcloud alpha edge-cloud services list \ --project PROJECT_ID \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: Google Cloud האזור של פרויקט היעד Google Cloud .
הערך בשדה
nameהוא בפורמטprojects/PROJECT_ID/locations/REGION/zonalServices/SERVICE_UUID.-
משביתים את מופע השירות של Agent Platform (
VERTEX) היעד:gcloud alpha edge-cloud services disable SERVICE_UUID \ --project PROJECT_ID \ --location REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_UUID: ה-UUID של מופע שירות היעד ב-Agent Platform. -
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
REGION: Google Cloud האזור של פרויקט היעד Google Cloud .
-
משביתים את Google Cloud האירוח של הפרויקט בנקודת הקצה:
gcloud alpha edge-cloud projects disable PROJECT_ID \ --organization ORGANIZATION_ID \ --location REGION \ --zone ZONEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של Google Cloud פרויקט היעד. -
ORGANIZATION_ID: המזהה של הארגון Google Cloud שמשמש כיעד. -
REGION: Google Cloud האזור של פרויקט היעד Google Cloud . -
ZONE: אזור היעד של Distributed Cloud במודל מחובר.
-
פתרון בעיות בנקודות קצה
אם נקודת קצה ל-API של Gemini ב-GDC במודל מחובר מושבתת, צריך לפנות לנציג Google כדי לפתור בעיות.