Einige der in Model Garden verfügbaren Modelle können in Ihrem eigenen Google Cloud Projekt selbst bereitgestellt und für Batch vorhersagen verwendet werden. Mit Batchvorhersagen können Sie ein Modell effizient verwenden, um mehrere Text-Prompts zu verarbeiten, bei denen die Latenz keine Rolle spielt.
Eingabe vorbereiten
Bereiten Sie Ihre Eingaben in einer BigQuery-Tabelle oder als JSONL-Datei in Cloud Storage vor. Die Eingabe für beide Quellen muss dem JSON-Format des OpenAI API-Schemas entsprechen, wie im folgenden Beispiel gezeigt:
{"body": {"messages": [{"role": "user", "content": "Give me a recipe for banana bread"}], "max_tokens": 1000}}
BigQuery
Ihre BigQuery-Eingabetabelle muss dem folgenden Schema entsprechen:
| Spaltenname | Beschreibung |
|---|---|
| custom_id | Eine ID für jede Anfrage, um die Eingabe mit der Ausgabe abzugleichen. |
| method | Die Anfragemethode. |
| url | Der Anfrageendpunkt. |
| body(JSON) | Ihr Eingabe-Prompt. |
- Ihre Eingabetabelle kann weitere Spalten enthalten, die vom Batchjob ignoriert und direkt an die Ausgabetabelle übergeben werden.
- Für Batch-Vorhersagejobs werden zwei Spaltennamen für die Batch-Vorhersageausgabe reserviert: response(JSON) und id. Verwenden Sie diese Spalten nicht in der Eingabetabelle.
- Die Spalten method und url werden entfernt und sind nicht in der Ausgabetabelle enthalten.
Cloud Storage
Für Cloud Storage muss die Eingabedatei eine JSONL-Datei sein, die sich in einem Cloud Storage-Bucket befindet.
Erforderliche Ressourcen für ein Modell abrufen
Wählen Sie ein Modell aus und fragen Sie die Ressourcenanforderungen ab. Die erforderlichen Ressourcen werden in der Antwort im Feld dedicatedResources angezeigt, das Sie in der Konfiguration Ihres Batch-Vorhersagejobs angeben.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- PUBLISHER: Der Herausgeber des Modells, z. B.
meta,google,mistral-ai, oderdeepseek-ai. - PUBLISHER_MODEL_ID: Die Modell-ID des Herausgebers für das
Modell, z. B.
llama3_1. - VERSION_ID: Die Versions-ID des Herausgebers für das
Modell, z. B.
llama-3.1-8b-instruct.
HTTP-Methode und URL:
GET "https://us-central1-aiplatform.googleapis.com/ui/publishers/PUBLISHER/models/PUBLISHER_MODEL_ID@VERSION_ID" | jq '.supportedActions.multiDeployVertex'
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)" \
-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
Führen Sie folgenden Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.
Eine Batch-Vorhersage anfordern
Erstellen Sie eine Batch-Vorhersage für ein selbst bereitgestelltes Model Garden-Modell mit Eingaben aus BigQuery oder Cloud Storage. Sie können unabhängig voneinander festlegen, ob Vorhersagen in einer BigQuery-Tabelle oder in einer JSONL-Datei in einem Cloud Storage-Bucket ausgegeben werden sollen.
BigQuery
Geben Sie die BigQuery-Eingabetabelle, das Modell und den Ausgabespeicherort an. Der Batch-Vorhersagejob und die Tabelle müssen sich in derselben Region befinden.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- LOCATION: Eine Region, die selbst bereitgestellte Model Garden-Modelle unterstützt.
- PROJECT_ID: Ihre Projekt-ID. .
- MODEL: Der Name des Modells, das abgestimmt werden soll, z. B.
llama-3.1-8b-instruct. - PUBLISHER: Der Herausgeber des Modells, z. B.
meta,google,mistral-ai, oderdeepseek-ai. - INPUT_URI: Die BigQuery-Tabelle, in der sich die Eingabe für die Batchvorhersage befindet, z. B.
myproject.mydataset.input_table. - OUTPUT_FORMAT: Geben Sie
bigqueryan, um die Ausgabe in einer BigQuery-Tabelle zu speichern. Geben Siejsonlan, um die Ausgabe in einem Cloud Storage-Bucket zu speichern. - DESTINATION: Geben Sie für
BigQuery
bigqueryDestinationan. Geben Sie für Cloud StoragegcsDestinationan. - OUTPUT_URI_FIELD_NAME:
Geben Sie für BigQuery
outputUrian. Geben Sie für Cloud StorageoutputUriPrefixan. - OUTPUT_URI: Geben Sie für
BigQuery den Speicherort der Tabelle an, z. B.
myproject.mydataset.output_result. Geben Sie für Cloud Storage den Bucket- und Ordnerspeicherort an, z. B.gs://mybucket/path/to/outputfile. - MACHINE_TYPE: Definiert die Ressourcen, die für Ihr Modell bereitgestellt werden sollen, z. B.
g2-standard-4. - ACC_TYPE: Gibt Beschleuniger an, die dem Batch-Vorhersagejob hinzugefügt werden sollen, um die Leistung bei intensiven Arbeitslasten zu verbessern, z. B.
NVIDIA_L4. - ACC_COUNT: Die Anzahl der Beschleuniger, die in Ihrem Batch-Vorhersagejob verwendet werden sollen.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
JSON-Text der Anfrage:
'{
"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,
},
}'
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:
Cloud Storage
Geben Sie den Cloud Storage-Speicherort der JSONL-Datei, das Modell und den Ausgabespeicherort an.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- LOCATION: Eine Region, die selbst bereitgestellte Model Garden-Modelle unterstützt.
- PROJECT_ID: Ihre Projekt-ID. .
- MODEL: Der Name des Modells, das abgestimmt werden soll, z. B.
llama-3.1-8b-instruct. - PUBLISHER: Der Herausgeber des Modells, z. B.
meta,google,mistral-ai, oderdeepseek-ai. - INPUT_URI: Der Cloud Storage-Speicherort der JSONL-Eingabe für die Batchvorhersage, z. B.
gs://bucketname/path/to/jsonl. - OUTPUT_FORMAT: Geben Sie
bigqueryan, um die Ausgabe in einer BigQuery-Tabelle zu speichern. Geben Siejsonlan, um die Ausgabe in einem Cloud Storage-Bucket zu speichern. - DESTINATION: Geben Sie für
BigQuery
bigqueryDestinationan. Geben Sie für Cloud StoragegcsDestinationan. - OUTPUT_URI_FIELD_NAME:
Geben Sie für BigQuery
outputUrian. Geben Sie für Cloud StorageoutputUriPrefixan. - OUTPUT_URI: Geben Sie für
BigQuery den Speicherort der Tabelle an, z. B.
myproject.mydataset.output_result. Geben Sie für Cloud Storage den Bucket- und Ordnerspeicherort an, z. B.gs://mybucket/path/to/outputfile. - MACHINE_TYPE: Definiert die Ressourcen, die für Ihr Modell bereitgestellt werden sollen, z. B.
g2-standard-4. - ACC_TYPE: Gibt Beschleuniger an, die dem Batch-Vorhersagejob hinzugefügt werden sollen, um die Leistung bei intensiven Arbeitslasten zu verbessern, z. B.
NVIDIA_L4. - ACC_COUNT: Die Anzahl der Beschleuniger, die in Ihrem Batch-Vorhersagejob verwendet werden sollen.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
JSON-Text der Anfrage:
'{
"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,
},
}'
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:
Status eines Batch-Vorhersagejobs abrufen
Rufen Sie den Status Ihres Batchvorhersagejobs ab, um zu prüfen, ob er erfolgreich abgeschlossen wurde. Die Jobdauer hängt von der Anzahl der von Ihnen eingereichten Eingabeelemente ab.
REST
Ersetzen Sie folgende Werte in den Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID. .
- LOCATION: Die Region, in der sich Ihr Batchjob befindet.
- JOB_ID: Die Batchjob-ID, die beim Erstellen des Jobs zurückgegeben wurde.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/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/JOB_ID"
PowerShell
Führen Sie folgenden 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/JOB_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Ausgabe abrufen
Wenn ein Batch-Vorhersagejob abgeschlossen ist, rufen Sie die Ausgabe vom angegebenen Speicherort ab:
- Für BigQuery befindet sich die Ausgabe in der Spalte response(JSON) der BigQuery-Zieltabelle.
- Für Cloud Storage wird die Ausgabe als JSONL-Datei am Cloud Storage-Ausgabespeicherort gespeichert.
Unterstützte Modelle
Die Gemini Enterprise Agent Platform unterstützt Batchvorhersagen für die folgenden selbst bereitgestellten Modelle:
- 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