Auf dieser Seite wird beschrieben, wie Sie Batchvorhersagen mit Cloud Storage abrufen.
1. Eingaben vorbereiten
Für Batchanfragen für Gemini-Modelle wird eine JSON Lines-Datei (JSONL) akzeptiert, die in Cloud Storage gespeichert ist. Jede Zeile in den Batch-Eingabedaten ist eine Anfrage an das Modell, die dem gleichen Format für die Gemini API folgt.
Beispiel:
{"request":{"contents": [{"role": "user", "parts": [{"text": "What is the relation between the following video and image samples?"}, {"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/video/animals.mp4", "mimeType": "video/mp4"}}, {"fileData": {"fileUri": "gs://cloud-samples-data/generative-ai/image/cricket.jpeg", "mimeType": "image/jpeg"}}]}], "generationConfig": {"temperature": 0.9, "topP": 1, "maxOutputTokens": 256}}}
Beispieldatei für Batchanfragen herunterladen
Nachdem Sie Ihre Eingabedaten vorbereitet und in Cloud Storage hochgeladen haben, Prüfen Sie, ob der AI Platform-Dienst-Agent die Berechtigung für die Cloud Storage-Datei hat.
2. Batchjob senden
Sie können einen Batchjob mit der Google Cloud Console, der REST API oder dem Google Gen AI SDK erstellen.
Konsole
- Rufen Sie in der Google Cloud Console im Bereich „Vertex AI“ die Seite Batch Inference auf.
- Klicken Sie auf Erstellen.
REST
Verwenden Sie zum Erstellen eines Batchvorhersagejobs die Methode projects.locations.batchPredictionJobs.create
.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die Gemini-Modelle unterstützt.
- PROJECT_ID: Ihre Projekt-ID.
- MODEL_PATH: der Name des Publisher-Modells, z. B.
publishers/google/models/gemini-2.5-flash
, oder der Name des optimierten Endpunkts, z. B.projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID
, wobei MODEL_ID die Modell-ID des optimierten Modells ist. - INPUT_URI: Der Cloud Storage-Speicherort Ihrer JSONL-Batchvorhersageeingabe, z. B.
gs://bucketname/path/to/file.jsonl
. - OUTPUT_FORMAT: Wenn Sie die Ausgabe in einem Cloud Storage-Bucket speichern möchten, geben Sie
jsonl
an. - DESTINATION: Geben Sie für BigQuery
bigqueryDestination
an. Geben Sie für Cloud StoragegcsDestination
an. - OUTPUT_URI_FIELD_NAME:
Geben Sie für BigQuery
outputUri
an. Geben Sie für Cloud StorageoutputUriPrefix
an. - OUTPUT_URI: Geben Sie für BigQuery den Tabellenspeicherort an, z. B.
bq://myproject.mydataset.output_result
. Die Region des BigQuery-Ausgabe-Datasets muss mit der des Vertex AI-Batchvorhersagejobs übereinstimmen. Geben Sie für Cloud Storage den Bucket- und Verzeichnispfad an, z. B.gs://mybucket/path/to/output
.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
JSON-Text der Anfrage:
{ "displayName": "my-cloud-storage-batch-prediction-job", "model": "MODEL_PATH", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat": "OUTPUT_FORMAT", "DESTINATION": { "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Die Antwort enthält eine eindeutige Kennung für den Batchjob. Sie können den Status des Batch-Jobs mit BATCH_JOB_ID abfragen. Weitere Informationen finden Sie unter Jobstatus überwachen. Hinweis: Benutzerdefiniertes Dienstkonto, Live-Fortschritts-, CMEK- und VPCSC-Berichte werden nicht unterstützt.Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:
# 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
3. Jobstatus und ‑fortschritt überwachen
Nachdem der Job gesendet wurde, können Sie den Status Ihres Batchjobs über die Google Cloud -Konsole, die REST API oder das Google Gen AI SDK prüfen.
Konsole
- Rufen Sie die Seite Batch Inference auf.
- Wählen Sie Ihren Batchjob aus, um den Fortschritt zu überwachen.
REST
Verwenden Sie die Methode projects.locations.batchPredictionJobs.get
, um einen Batchvorhersagejob zu überwachen, und sehen Sie sich das Feld CompletionStats
in der Antwort an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die Gemini-Modelle unterstützt.
- PROJECT_ID: .
- BATCH_JOB_ID: Ihre Batchjob-ID.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/BATCH_JOB_ID"
PowerShell
Führen Sie diesen Befehl aus:
$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/BATCH_JOB_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:
# 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=global export GOOGLE_GENAI_USE_VERTEXAI=True
Beschreibungen der Jobstatus finden Sie unter JobState.
4. Batchausgabe abrufen
Wenn ein Batchvorhersagejob abgeschlossen ist, wird die Ausgabe in dem Cloud Storage-Bucket gespeichert, den Sie beim Erstellen des Jobs angegeben haben. Bei erfolgreichen Zeilen werden die Modellantworten im Feld response
gespeichert. Andernfalls werden die Fehlerdetails zur weiteren Überprüfung im Feld status
gespeichert.
Bei Jobs mit langer Laufzeit werden abgeschlossene Vorhersagen kontinuierlich in das angegebene Ausgabeziel exportiert. Wenn der Batch-Vorhersagejob beendet wird, werden alle abgeschlossenen Zeilen exportiert. Ihnen werden nur abgeschlossene Vorhersagen in Rechnung gestellt.
Ausgabebeispiele
Erfolgreiches Beispiel
{
"status": "",
"processed_time": "2024-11-01T18:13:16.826+00:00",
"request": {
"contents": [
{
"parts": [
{
"fileData": null,
"text": "What is the relation between the following video and image samples?"
},
{
"fileData": {
"fileUri": "gs://cloud-samples-data/generative-ai/video/animals.mp4",
"mimeType": "video/mp4"
},
"text": null
},
{
"fileData": {
"fileUri": "gs://cloud-samples-data/generative-ai/image/cricket.jpeg",
"mimeType": "image/jpeg"
},
"text": null
}
],
"role": "user"
}
]
},
"response": {
"candidates": [
{
"avgLogprobs": -0.5782725546095107,
"content": {
"parts": [
{
"text": "This video shows a Google Photos marketing campaign where animals at the Los Angeles Zoo take self-portraits using a modified Google phone housed in a protective case. The image is unrelated."
}
],
"role": "model"
},
"finishReason": "STOP"
}
],
"modelVersion": "gemini-2.0-flash-001@default",
"usageMetadata": {
"candidatesTokenCount": 36,
"promptTokenCount": 29180,
"totalTokenCount": 29216
}
}
}
Beispiel für Fehler
{
"status": "Bad Request: {\"error\": {\"code\": 400, \"message\": \"Please use a valid role: user, model.\", \"status\": \"INVALID_ARGUMENT\"}}",
"processed_time": "2025-07-09T19:57:43.558+00:00",
"request": {
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
],
"role": "tester"
}
]
},
"response": {}
}