חלק מהמודלים שזמינים ב-Model Garden יכולים להיות בפריסה עצמית בפרויקט Google Cloud שלכם, ולשמש לחיזויים של קבוצות נתונים. תחזיות אצווה מאפשרות להשתמש ביעילות במודל כדי לעבד כמה הנחיות טקסט בלבד שלא רגישות לזמן האחזור.
הכנת קלט
לפני שמתחילים, מכינים את נתוני הקלט בטבלה ב-BigQuery או כקובץ JSONL ב-Cloud Storage. הקלט בשני המקורות צריך להיות בפורמט JSON של סכימת OpenAI API, כמו בדוגמה הבאה:
{"body": {"messages": [{"role": "user", "content": "Give me a recipe for banana bread"}], "max_tokens": 1000}}
BigQuery
טבלת הקלט ב-BigQuery צריכה להיות תואמת לסכימה הבאה:
| שם עמודה | תיאור |
|---|---|
| custom_id | מזהה לכל בקשה כדי להתאים את הקלט לפלט. |
| method | שיטת הבקשה. |
| url | נקודת הקצה של הבקשה. |
| body(JSON) | פרומפט הקלט שלכם. |
- טבלת הקלט יכולה לכלול עמודות אחרות, שהמשימה באצווה מתעלמת מהן ומעבירה אותן ישירות לטבלת הפלט.
- משימות של חיזוי באצווה שומרות שני שמות של עמודות לפלט של החיזוי באצווה: response(JSON) ו-id. אל תשתמשו בעמודות האלה בטבלת הקלט.
- העמודות method ו-url מושמטות ולא נכללות בטבלת הפלט.
Cloud Storage
ב-Cloud Storage, קובץ הקלט צריך להיות קובץ JSONL שנמצא בקטגוריה של Cloud Storage.
קבלת המשאבים הנדרשים למודל
בוחרים מודל ומריצים שאילתה כדי לראות את דרישות המשאבים שלו. המקורות הנדרשים מופיעים בתגובה בשדה dedicatedResources, שאתם מציינים בהגדרות של משימת החיזוי באצווה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PUBLISHER: מפרסם המודל, לדוגמה,
meta,google,mistral-aiאוdeepseek-ai. - PUBLISHER_MODEL_ID: מזהה המודל של המוציא לאור עבור המודל, לדוגמה,
llama3_1. - VERSION_ID: מזהה הגרסה של המודל שמוגדר על ידי המוציא לאור, לדוגמה,
llama-3.1-8b-instruct.
ה-method של ה-HTTP וכתובת ה-URL:
GET "https://us-central1-aiplatform.googleapis.com/ui/publishers/PUBLISHER/models/PUBLISHER_MODEL_ID@VERSION_ID" | jq '.supportedActions.multiDeployVertex'
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
""https://us-central1-aiplatform.googleapis.com/ui/publishers/PUBLISHER/models/PUBLISHER_MODEL_ID@VERSION_ID" | jq '.supportedActions.multiDeployVertex'"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri ""https://us-central1-aiplatform.googleapis.com/ui/publishers/PUBLISHER/models/PUBLISHER_MODEL_ID@VERSION_ID" | jq '.supportedActions.multiDeployVertex'" | Select-Object -Expand Content
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
שליחת בקשה ליצירת תחזית באצווה
ליצור חיזוי באצווה על מודל Model Garden שפרסתם בעצמכם באמצעות קלט מ-BigQuery או מ-Cloud Storage. אתם יכולים לבחור באופן עצמאי אם להוציא את התחזיות לטבלה ב-BigQuery או לקובץ JSONL בקטגוריה של Cloud Storage.
BigQuery
מציינים את טבלת הקלט, המודל ומיקום הפלט ב-BigQuery. הטבלה ועבודת התחזית באצווה צריכות להיות באותו אזור.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: אזור שתומך במודלים שניתנים לפריסה עצמית ב-Model Garden.
- PROJECT_ID: מזהה הפרויקט. .
- MODEL: השם של המודל לכוונון, לדוגמה,
llama-3.1-8b-instruct. - PUBLISHER: מפרסם המודל, לדוגמה,
meta,google,mistral-aiאוdeepseek-ai. - INPUT_URI: הטבלה ב-BigQuery שבה נמצא קובץ הקלט של התחזית באצווה, למשל
myproject.mydataset.input_table. - OUTPUT_FORMAT: כדי להגדיר פלט לטבלה ב-BigQuery, מציינים
bigquery. כדי להגדיר פלט לקטגוריה של Cloud Storage, מצייניםjsonl. - DESTINATION: ב-BigQuery, מציינים
bigqueryDestination. ב-Cloud Storage, מצייניםgcsDestination. - OUTPUT_URI_FIELD_NAME:
ב-BigQuery, מציינים
outputUri. ב-Cloud Storage, מצייניםoutputUriPrefix. - OUTPUT_URI: ב-BigQuery, מציינים את מיקום הטבלה, למשל
myproject.mydataset.output_result. ב-Cloud Storage, מציינים את המיקום של הקטגוריה והתיקייה, כמוgs://mybucket/path/to/outputfile. - MACHINE_TYPE: הגדרת קבוצת המשאבים לפריסה של המודל, לדוגמה,
g2-standard-4. - ACC_TYPE: מציינים מאיצים להוספה למשימת החיזוי באצווה כדי לשפר את הביצועים כשעובדים עם עומסי עבודה אינטנסיביים, לדוגמה,
NVIDIA_L4. - ACC_COUNT: מספר המאיצים לשימוש במשימת חיזוי באצווה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
גוף בקשת JSON:
'{
"displayName": "JOB_NAME",
"model": "publishers/PUBLISHER/models/MODEL",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"OUTPUT_FORMAT",
"DESTINATION":{
"OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
}
},
"dedicated_resources": {
"machine_spec": {
"machine_type": "MACHINE_TYPE",
"accelerator_type": "ACC_TYPE",
"accelerator_count": ACC_COUNT,
},
"starting_replica_count": 1,
},
}'
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
Cloud Storage
מציינים את המיקום של קובץ ה-JSONL ב-Cloud Storage, את המודל ואת מיקום הפלט.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: אזור שתומך במודלים שניתנים לפריסה עצמית ב-Model Garden.
- PROJECT_ID: מזהה הפרויקט. .
- MODEL: השם של המודל לכוונון, לדוגמה,
llama-3.1-8b-instruct. - PUBLISHER: מפרסם המודל, לדוגמה,
meta,google,mistral-aiאוdeepseek-ai. - INPUT_URI: המיקום ב-Cloud Storage של קובץ הקלט של התחזית באצווה בפורמט JSONL, כמו
gs://bucketname/path/to/jsonl. - OUTPUT_FORMAT: כדי להגדיר פלט לטבלה ב-BigQuery, מציינים
bigquery. כדי להגדיר פלט לקטגוריה של Cloud Storage, מצייניםjsonl. - DESTINATION: ב-BigQuery, מציינים
bigqueryDestination. ב-Cloud Storage, מצייניםgcsDestination. - OUTPUT_URI_FIELD_NAME:
ב-BigQuery, מציינים
outputUri. ב-Cloud Storage, מצייניםoutputUriPrefix. - OUTPUT_URI: ב-BigQuery, מציינים את מיקום הטבלה, למשל
myproject.mydataset.output_result. ב-Cloud Storage, מציינים את המיקום של הקטגוריה והתיקייה, כמוgs://mybucket/path/to/outputfile. - MACHINE_TYPE: הגדרת קבוצת המשאבים לפריסה של המודל, לדוגמה,
g2-standard-4. - ACC_TYPE: מציינים מאיצים להוספה למשימת החיזוי באצווה כדי לשפר את הביצועים כשעובדים עם עומסי עבודה אינטנסיביים, לדוגמה,
NVIDIA_L4. - ACC_COUNT: מספר המאיצים לשימוש במשימת חיזוי באצווה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
גוף בקשת JSON:
'{
"displayName": "JOB_NAME",
"model": "publishers/PUBLISHER/models/MODEL",
"inputConfig": {
"instancesFormat":"jsonl",
"gcsDestination":{
"uris" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"OUTPUT_FORMAT",
"DESTINATION":{
"OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
}
},
"dedicated_resources": {
"machine_spec": {
"machine_type": "MACHINE_TYPE",
"accelerator_type": "ACC_TYPE",
"accelerator_count": ACC_COUNT,
},
"starting_replica_count": 1,
},
}'
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
קבלת הסטטוס של משימת תחזית אצווה
אפשר לקבל את הסטטוס של משימת חיזוי בקבוצה כדי לבדוק אם היא הושלמה בהצלחה. משך העבודה תלוי במספר פריטי הקלט ששלחתם.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט. .
- LOCATION: האזור שבו נמצאת משימת האצווה שלך.
- JOB_ID: מזהה העבודה באצווה שהוחזר כשיוצרים את העבודה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
אחזור פלט
כשמשימת חיזוי אצווה מסתיימת, מאחזרים את הפלט מהמיקום שציינתם:
- ב-BigQuery, הפלט נמצא בעמודה response(JSON) של טבלת היעד ב-BigQuery.
- ב-Cloud Storage, הפלט נשמר כקובץ JSONL במיקום הפלט ב-Cloud Storage.
מודלים נתמכים
Gemini Enterprise Agent Platform תומכת בתחזיות אצווה עבור המודלים הבאים שפריסתם בוצעה באופן עצמאי:
- Llama
publishers/meta/models/llama3_1@llama-3.1-8b-instructpublishers/meta/models/llama3_1@llama-3.1-70b-instructpublishers/meta/models/llama3_1@llama-3.1-405b-instruct-fp8publishers/meta/models/llama3-2@llama-3.2-1b-instructpublishers/meta/models/llama3-2@llama-3.2-3b-instructpublishers/meta/models/llama3-2@llama-3.2-90b-vision-instruct
- Gemma
publishers/google/models/gemma@gemma-1.1-2b-itpublishers/google/models/gemma@gemma-7b-itpublishers/google/models/gemma@gemma-1.1-7b-itpublishers/google/models/gemma@gemma-2b-itpublishers/google/models/gemma2@gemma-2-2b-itpublishers/google/models/gemma2@gemma-2-9b-itpublishers/google/models/gemma2@gemma-2-27b-it
- Mistral
publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.2publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.3publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.1publishers/mistral-ai/models/mistral@mistral-nemo-instruct-2407
- Deepseek
publishers/deepseek-ai/models/deepseek-r1@deepseek-r1-distill-llama-8b