עבור חלק מהקריאות ל-API, Gemini Enterprise Agent Platform מחזירה שמות של פעולות. קריאות ה-API האלה מפעילות פעולות שנדרש זמן להשלמתן, והן נקראות פעולות ממושכות. לדוגמה, יצירת קבוצת נתונים, מחיקת נקודת קצה או ייצוא של מודל הן פעולות ארוכות טווח. אפשר להשתמש בשיטות עזר יחד עם שמות פעולות כדי לקבל את הסטטוס של פעולה ממושכת או לבטל אותה, כמו שמתואר בקטעים הבאים.
קבלת הסטטוס של פעולה
כדי לקבל את סטטוס הפעולה, צריך להשתמש בשם הפעולה שהופיע בתגובה כשביקשתם פעולה ממושכת. לדוגמה, כשיוצרים מערך נתונים, Agent Platform מחזיר שם של פעולה, כמו:
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
אפשר לדגום את הפעולה במרווחי זמן קבועים כדי לדעת מתי היא מסתיימת.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: שם הפעולה שמוחזר כשמתחילים פעולה ממושכת, כמו
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME" | Select-Object -Expand Content
בפלט, האובייקט metadata מכיל מידע שספציפי לסוג הבקשה. השדה done מציין אם הפעולה הושלמה. אם הפעולה הושלמה, האובייקט response מכיל תוצאות מהפעולה.
{
"name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789/operations/1223344556677889900",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata",
"genericMetadata": {
"createTime": "2020-10-12T16:00:44.686500Z",
"updateTime": "2020-10-12T16:01:06.115081Z"
}
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.Dataset",
"name": "projects/123456789012/locations/us-central1/datasets/1234567890123456789",
"displayName": "image_dataset",
"metadataSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml",
"labels": {
"aiplatform.googleapis.com/dataset_metadata_schema": "IMAGE"
},
"metadata": {
"dataItemSchemaUri": "gs://google-cloud-aiplatform/schema/dataset/dataitem/image_1.0.0.yaml"
}
}
}
ביטול פעולה
אפשר לבטל פעולה ממושכת כדי לעצור אותה לפני שהיא מסתיימת. כשמבטלים פעולה בהצלחה, הפעולה לא נמחקת, אלא נעצרת עם קוד השגיאה 1 וההודעה CANCELLED. חשוב לזכור שלא תמיד הביטול מצליח.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: שם הפעולה שמוחזר כשמתחילים פעולה ממושכת, כמו
projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/OPERATION_NAME:cancel" | Select-Object -Expand Content
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.