קבלת תשובות באצווה היא דרך יעילה לשלוח מספר גדול של בקשות להטמעה שלא רגישות לזמן האחזור. בניגוד לתשובות אונליין, שבהן אפשר לשלוח רק בקשת קלט אחת בכל פעם, אפשר לשלוח הרבה בקשות להטמעה בבקשת Batch אחת. בדומה לאופן שבו מתבצעת הסקת מסקנות באצווה עבור נתונים טבלאיים ב-Gemini Enterprise Agent Platform, אתם קובעים את מיקום הפלט, מוסיפים את הקלט והתשובות מאוכלסות באופן אסינכרוני במיקום הפלט.
חיזוי אצווה של הטמעת Gemini
תחזית אצווה של הטמעת Gemini מבוססת על הסקת מסקנות באצווה של Gemini ומשתמשת בסכימה מעודכנת לקלט ולפלט:
- אחסון של קלט ופלט: הקלט והפלט צריכים להיות בפורמט של קובצי JSON Lines (JSONL) שמאוחסנים ב-Cloud Storage. (אין תמיכה בטבלאות BigQuery במודלים להטמעה של Gemini).
- מגבלות על משימות: כל משימת אצווה תומכת בעד 1,000,000 שורות ובגודל קובץ קלט של עד 1GB.
- מכסות ותורים: אין מכסות מוגדרות מראש של פעולות שמתבצעות בו-זמנית. עבודות באצווה מתוזמנות באופן דינמי על סמך זמינות המשאבים, ויכולות להישאר בתור למשך עד 72 שעות. זמן הטיפול המקסימלי הוא 24 שעות.
מודלים ומיקומים נתמכים
בטבלה הבאה מפורטים המיקומים והמודלים של Gemini embedding שנתמכים להסקת מסקנות באצווה:
| דגם | מזהה המודל | מיקומים נתמכים |
|---|---|---|
| Gemini Embedding 001 | gemini-embedding-001 |
us-central1, us-east1, us-east4,
us-west1, us-west4, europe-west1,
europe-west4
|
| Gemini Embedding 2 | gemini-embedding-2 |
כל העולם (global), מספר אזורים בארה"ב (us),
מספר אזורים באיחוד האירופי (eu)
|
מידע נוסף על נקודות קצה אזוריות וגלובליות זמין במאמר מיקומים.
הכנת הקלט
מעלים את נתוני הקלט של העיבוד באצווה כקובץ JSONL ל-Cloud Storage, כאשר כל שורה היא אובייקט JSON יחיד שמכיל שדה "request".
Gemini Embedding 001
מודל gemini-embedding-001 תומך בהגדרה של task_type ו-title בתוך embed_content_config לכל שורה.
{"key": "id_1", "request": {"content": {"parts": [{"text": "Hello World"}]}, "embed_content_config": {"output_dimensionality": 768, "title": "some_title", "task_type": "RETRIEVAL_DOCUMENT"}}}
{"key": "id_2", "request": {"content": {"parts": [{"text": "Hello World again"}]}, "embed_content_config": {"output_dimensionality": 768, "title": "some_title_2", "task_type": "RETRIEVAL_DOCUMENT"}}}
Gemini Embedding 2
מודל gemini-embedding-2 תומך בקלט של טקסט, תמונות, סרטונים ואודיו. בניגוד ל-gemini-embedding-001, ב-gemini-embedding-2 סוג המשימה והכותרת צריכים להיות מוטמעים ישירות בטקסט של ההנחיה. אם מעבירים את הערכים task_type או title בתוך embed_content_config, המערכת מתעלמת מהם בשקט (בהתאם להתנהגות של ממשק ה-API באינטרנט).
במאמר מגבלות של Multimodal Embeddings API מפורטות מגבלות על קלט רב-אופני, על אסימונים ועל קבצים.
{"key": "id_1", "request": {"content": {"parts": [{"text": "title: sample | text: Hello World"}]}, "embed_content_config": {"output_dimensionality": 768}}}
{"key": "id_2", "request": {"content": {"parts": [{"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/image/benchmark.jpeg", "mimeType": "image/jpeg"}}]}, "embed_content_config": {"output_dimensionality": 768}}}
בקשת תשובה באצווה
בהתאם למספר פריטי הקלט שאתם שולחים, יכול להיות שיעבור זמן עד שעיבוד אצווה יסתיים. אפשר לשלוח משימת הטמעה של קבוצת נתונים באמצעות API בארכיטקטורת REST או Google Gen AI SDK.
REST
אפשר להשתמש ב-API בארכיטקטורת REST כדי ליצור משימת הטמעה באצווה על ידי שליחת בקשת POST לנקודת הקצה batchPredictionJobs.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- ENDPOINT_PREFIX: התחילית של האזור או של כמה אזורים ואחריה
-(לדוגמה,us-central1-,us-אוeu-). אם משתמשים בנקודת הקצהglobal, משאירים את השדה ריק (aiplatform.googleapis.com). - PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
- LOCATION: מיקום נתמך של המודל (לדוגמה,
us-central1עבורgemini-embedding-001, אוglobal, usאוeuעבורgemini-embedding-2). - BP_JOB_NAME: השם המוצג של המשימה באצווה.
- MODEL_ID: מזהה מודל בעל האפליקציה (
gemini-embedding-001אוgemini-embedding-2). - INPUT_URI: ה-URI של קובץ ה-JSONL של הקלט ב-Cloud Storage (לדוגמה,
gs://my-bucket/path/to/input.jsonl). - OUTPUT_URI_PREFIX: קטגוריית Cloud Storage וקידומת הספרייה שבה ייכתבו קובצי פלט JSONL (לדוגמה,
gs://my-bucket/path/to/output/).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
גוף בקשת JSON:
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
cat > request.json << 'EOF'
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
EOFלאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
@'
{
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}
}
'@ | Out-File -FilePath request.json -Encoding utf8לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
$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://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/MODEL_ID",
"inputConfig": {
"instancesFormat": "jsonl",
"gcsSource": {
"uris": [
"INPUT_URI"
]
}
},
"outputConfig": {
"predictionsFormat": "jsonl",
"gcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
},
"state": "JOB_STATE_PENDING",
"createTime": "2026-09-15T19:33:59.153782Z",
"updateTime": "2026-09-15T19:33:59.153782Z",
"modelVersionId": "1"
}
דוגמאות לפקודות curl
התשובה כוללת מזהה ייחודי לעבודת האצווה (BATCH_JOB_ID). אפשר לשלוח עבודת אצווה ולבדוק את הסטטוס שלה באמצעות curl:
יצירת משימה באצווה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs"
סטטוס העבודה של הסקר:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://ENDPOINT_PREFIXaiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID"
Python
התקנה
pip install --upgrade google-genai
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Go
כאן מוסבר איך להתקין או לעדכן את Go.
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Node.js
התקנה
npm install @google/genai
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
Java
כאן מוסבר איך להתקין או לעדכן את Java.
מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.
מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_ENTERPRISE=True
אחזור פלט של קבוצת בקשות
כשמשימת הסקת מסקנות באצווה מסתיימת, קובצי ה-JSONL של הפלט מאוחסנים בספריית הפלט של Cloud Storage שציינתם בבקשה.
{"key": "id_1", "request": {...}, "response": {"tokenCount": "2", "embedding": {"values": [-0.015, 0.024, ...]}}}
{"key": "id_2", "request": {...}, "response": {"tokenCount": "3", "embedding": {"values": [-0.075, 0.031, ...]}}}
מקורות מידע נוספים
- אפשרויות ההגדרה הזמינות ב-
gemini-embedding-001מפורטות במדריך להטמעת טקסט. - אפשרויות ההגדרה הזמינות ב-
gemini-embedding-2מפורטות במדריך בנושא הטמעות מולטימודאליות. - מידע נוסף על התכונות והמכסות של Gemini להסקת מסקנות באצווה זמין במאמר הסקת מסקנות באצווה באמצעות Gemini.
חיזוי של הטמעת נתונים מדור קודם
בקטע הזה מתוארים תהליכי עבודה של הסקת מסקנות באצווה עבור מודלים מדור קודם להטמעת טקסט (text-embedding-004, text-embedding-005 ו-text-multilingual-embedding-002), שמבוססים על ארכיטקטורה שונה מזו של מודלים להטמעה של Gemini.
מודלים של הטמעות טקסט שתומכים בהסקת מסקנות באצווה
כל הגרסאות היציבות של מודלים להטמעת טקסט מדור קודם תומכות בהסקת מסקנות באצווה, ויש תמיכה מלאה בהן בסביבות ייצור. לרשימה המלאה של מודלים להטמעה
הכנת הקלט למודלים מדור קודם
הקלט לבקשות אצווה מדור קודם הוא רשימה של הנחיות שאפשר לאחסן בטבלה ב-BigQuery או כקובץ JSON Lines (JSONL) ב-Cloud Storage. כל בקשה יכולה לכלול עד 30,000 פרומפטים.
דוגמה ל-JSONL
בקטע הזה מוצגות דוגמאות לפורמט של קלט ופלט JSONL למודלים מדור קודם.
דוגמה לקלט JSONL
{"content":"Give a short description of a machine learning model:"}
{"content":"Best recipe for banana bread:"}
דוגמה לפלט JSONL
{"instance":{"content":"Give..."},"predictions": [{"embeddings":{"statistics":{"token_count":8,"truncated":false},"values":[0.2,....]}}],"status":""}
{"instance":{"content":"Best..."},"predictions": [{"embeddings":{"statistics":{"token_count":3,"truncated":false},"values":[0.1,....]}}],"status":""}
דוגמה ל-BigQuery
בקטע הזה מוצגות דוגמאות לפורמט של קלט ופלט ב-BigQuery עבור מודלים מדור קודם.
דוגמה לקלט של BigQuery
בדוגמה הזו מוצגת טבלה ב-BigQuery עם עמודה אחת.
| תוכן |
|---|
| "Give a short description of a machine learning model:" |
| "Best recipe for banana bread:" |
דוגמה לפלט של BigQuery
| תוכן | predictions | סטטוס |
|---|---|---|
| "Give a short description of a machine learning model:" |
[ { "embeddings": { "statistics": { "token_count": 8, "truncated": false }, "values": [0.1, ...] } } ] |
|
| "Best recipe for banana bread:" |
[ { "embeddings": { "statistics": { "token_count": 3, "truncated": false }, "values": [0.2, ...] } } ] |
בקשה לתשובה באצווה למודלים מדור קודם
בהתאם למספר פריטי הקלט ששלחתם, יכול להיות שיעבור זמן עד שמשימת יצירת קבוצת פריטים תסתיים.
REST
אתם יכולים להשתמש ב-API בארכיטקטורת REST כדי לקבל הטמעות טקסט באצווה למודלים מדור קודם. לשם כך, שולחים בקשת POST לנקודת הקצה של המודל של בעל התוכן הדיגיטלי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום שאליו צריך לשלוח את הבקשה (לדוגמה,
us-central1). - PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
- BP_JOB_NAME: שם המשימה.
- MODEL_ID: מזהה המודל של מודל ההטמעה מדור קודם (לדוגמה,
text-embedding-005). - INPUT_URI: ה-URI של מקור הקלט. זהו URI של טבלה ב-BigQuery או URI של קובץ JSONL ב-Cloud Storage.
- OUTPUT_URI: כתובת ה-URI של יעד הפלט.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
גוף בקשת JSON:
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"bigquery",
"bigqueryDestination":{
"outputUri": "OUTPUT_URI"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
cat > request.json << 'EOF'
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"bigquery",
"bigqueryDestination":{
"outputUri": "OUTPUT_URI"
}
}
}
EOFלאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
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.
כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:
@'
{
"name": "BP_JOB_NAME",
"displayName": "BP_JOB_NAME",
"model": "publishers/google/models/text-embedding-005",
"inputConfig": {
"instancesFormat":"bigquery",
"bigquerySource":{
"inputUri" : "INPUT_URI"
}
},
"outputConfig": {
"predictionsFormat":"bigquery",
"bigqueryDestination":{
"outputUri": "OUTPUT_URI"
}
}
}
'@ | Out-File -FilePath request.json -Encoding utf8לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:
$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 שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/123456789",
"displayName": "BP_JOB_NAME",
"model": "projects/PROJECT_ID/locations/LOCATION/models/text-embedding-005",
"inputConfig": {
"instancesFormat": "bigquery",
"bigquerySource": {
"inputUri": "INPUT_URI"
}
},
"modelParameters": {},
"outputConfig": {
"predictionsFormat": "bigquery",
"bigqueryDestination": {
"outputUri": "OUTPUT_URI"
}
},
"state": "JOB_STATE_PENDING",
"createTime": "2023-07-12T20:46:52.148717Z",
"updateTime": "2023-07-12T20:46:52.148717Z",
"labels": {
"owner": "sample_owner",
"product": "llm"
},
"modelVersionId": "1",
"modelMonitoringStatus": {}
}
דוגמה לפקודת curl
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"
אחזור פלט של אצווה למודלים מדור קודם
כשמשימת הסקת מסקנות באצווה מדור קודם מסתיימת, הפלט נשמר בקטגוריה של Cloud Storage או בטבלה ב-BigQuery שצוינו בבקשה.