תחזיות באצווה

חיזוי באצ'ים מאפשר לשלוח למודל ביעילות כמה הנחיות טקסטואליות שלא רגישות לזמן האחזור. בהשוואה לתחזיות אונליין, שבהן שולחים הנחיית קלט אחת לכל בקשה, אפשר לאגד מספר גדול של הנחיות קלט בבקשה אחת.

מודלים נתמכים

פלטפורמת הסוכנים של Gemini Enterprise תומכת בחיזויים באצווה במודלים הבאים.

‫Llama:

OpenAI gpt-oss:

Qwen:

DeepSeek:

מודלים של הטמעה:

הכנת קלט

לפני שמתחילים, צריך להכין את נתוני הקלט בטבלה ב-BigQuery או כקובץ JSONL ב-Cloud Storage. הקלט של שני המקורות צריך להיות בפורמט JSONL של סכימת OpenAI API, כמו בדוגמאות הבאות.

מודלים גדולים של שפה (LLM):

{"custom_id": "test-request-0", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "MODEL_ID", "messages": [{"role": "user", "content": "Give me a recipe for banana bread"}], "max_tokens": 1000}}

מודלים של הטמעה:

{"custom_id": "test-request-0", "method": "POST", "url": "/v1/embeddings", "body": {"model": "MODEL_ID", "input": "Hello World"}}

BigQuery

טבלת הקלט ב-BigQuery צריכה להתאים לסכימה הבאה:

שם עמודה תיאור
custom_id מזהה לכל בקשה כדי להתאים את הקלט לפלט.
method שיטת הבקשה.
url נקודת הקצה של הבקשה.
body(JSON) הנחיית הקלט שלכם.
  • טבלת הקלט יכולה להכיל עמודות אחרות, שהמשימה באצווה מתעלמת מהן ומעבירה אותן ישירות לטבלת הפלט.
  • במשימות חיזוי באצווה, שני שמות של עמודות שמורים לפלט של החיזוי באצווה: response(JSON)‎ ו-id. אל תשתמשו בעמודות האלה בטבלת הקלט.
  • העמודות method ו-url נמחקות ולא נכללות בטבלת הפלט.

Cloud Storage

ב-Cloud Storage, קובץ הקלט חייב להיות קובץ JSONL שנמצא בקטגוריה של Cloud Storage.

שליחת בקשה לתחזית באצווה

כדי לבצע חיזוי באצווה על סמך מודל, משתמשים בקלט מ- BigQuery או מ-Cloud Storage. אתם יכולים לבחור באופן עצמאי אם להוציא את התחזיות לטבלה ב-BigQuery או לקובץ JSONL בקטגוריה של Cloud Storage.

BigQuery

מציינים את טבלת הקלט, המודל ומיקום הפלט ב-BigQuery. משימת החיזוי באצווה והטבלה צריכות להיות באותו אזור.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫LOCATION: אזור שתומך במודל.
  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL: שם המודל שרוצים לכוונן.
  • ‫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.

ה-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_ID",
  "inputConfig": {
    "instancesFormat":"bigquery",
    "bigquerySource":{
      "inputUri" : "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat":"OUTPUT_FORMAT",
    "DESTINATION":{
      "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
    }
  }
}'

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

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: אזור שתומך במודל.
  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL: שם המודל שרוצים לכוונן.
  • ‫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.

ה-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_ID",
  "inputConfig": {
    "instancesFormat":"jsonl",
    "gcsSource":{
      "uris" : "INPUT_URI"
    }
  },
  "outputConfig": {
    "predictionsFormat":"OUTPUT_FORMAT",
    "DESTINATION":{
      "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI"
    }
  }
}'

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

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.

המאמרים הבאים