Batchvorhersagen von einem selbst bereitgestellten Model Garden-Modell abrufen

Einige der in Model Garden verfügbaren Modelle können Sie selbst in Ihrem eigenen Google Cloud -Projekt bereitstellen und für Batchvorhersagen verwenden. Mit Batchvorhersagen können Sie ein Modell effizient verwenden, um mehrere reine Text-Prompts zu verarbeiten, die nicht latenzempfindlich sind.

Eingabe vorbereiten

Bereiten Sie vor dem Start 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.
  • Batch-Vorhersagejobs reservieren zwei Spaltennamen für die Batch-Vorhersageausgabe: response(JSON) und id. Verwenden Sie diese Spalten nicht in der Eingabetabelle.
  • Die Spalten method und url werden verworfen und nicht in die Ausgabetabelle aufgenommen.

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 Batchvorhersagejobs angeben.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PUBLISHER: Der Modell-Publisher, z. B. meta, google, mistral-ai oder deepseek-ai.
  • PUBLISHER_MODEL_ID: Die Modell-ID des Publishers für das Modell, z. B. llama3_1.
  • VERSION_ID: Die Versions-ID des Publishers 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.

Batchvorhersage anfordern

Erstellen Sie eine Batchvorhersage für ein selbst bereitgestelltes Model Garden-Modell, indem Sie Eingaben aus BigQuery oder Cloud Storage verwenden. Sie können Vorhersagen entweder in eine BigQuery-Tabelle oder in eine JSONL-Datei in einem Cloud Storage-Bucket ausgeben.

BigQuery

Geben Sie die BigQuery-Eingabetabelle, das Modell und den Ausgabespeicherort an. Der Batchvorhersagejob und Ihre Tabelle müssen sich in derselben Region befinden.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Eine Region, die selbst bereitgestellte Model Garden-Modelle unterstützt.
  • PROJECT_ID: Ihre Projekt-ID. .
  • MODEL: Der Name des zu optimierenden Modells, z. B. llama-3.1-8b-instruct.
  • PUBLISHER: Der Modell-Publisher, z. B. meta, google, mistral-ai oder deepseek-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 bigquery an, um die Ausgabe in eine BigQuery-Tabelle zu schreiben. Geben Sie jsonl an, um die Ausgabe in einen Cloud Storage-Bucket zu schreiben.
  • DESTINATION: Geben Sie für BigQuery bigqueryDestination an. Geben Sie für Cloud Storage gcsDestination an.
  • OUTPUT_URI_FIELD_NAME: Geben Sie für BigQuery outputUri an. Geben Sie für Cloud Storage outputUriPrefix an.
  • OUTPUT_URI: Geben Sie für BigQuery den Tabellenspeicherort 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 Ihrem Batchvorhersagejob 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 Batchvorhersagejob 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, das Modell und den Ausgabespeicherort Ihrer JSONL-Datei an.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Eine Region, die selbst bereitgestellte Model Garden-Modelle unterstützt.
  • PROJECT_ID: Ihre Projekt-ID. .
  • MODEL: Der Name des zu optimierenden Modells, z. B. llama-3.1-8b-instruct.
  • PUBLISHER: Der Modell-Publisher, z. B. meta, google, mistral-ai oder deepseek-ai.
  • INPUT_URI: Der Cloud Storage-Speicherort Ihrer JSONL-Batchvorhersageeingabe, z. B. gs://bucketname/path/to/jsonl.
  • OUTPUT_FORMAT: Geben Sie bigquery an, um die Ausgabe in eine BigQuery-Tabelle zu schreiben. Geben Sie jsonl an, um die Ausgabe in einen Cloud Storage-Bucket zu schreiben.
  • DESTINATION: Geben Sie für BigQuery bigqueryDestination an. Geben Sie für Cloud Storage gcsDestination an.
  • OUTPUT_URI_FIELD_NAME: Geben Sie für BigQuery outputUri an. Geben Sie für Cloud Storage outputUriPrefix an.
  • OUTPUT_URI: Geben Sie für BigQuery den Tabellenspeicherort 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 Ihrem Batchvorhersagejob 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 Batchvorhersagejob 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 Batchvorhersagejobs abrufen

Rufen Sie den Status Ihres Batchvorhersagejobs ab, um zu prüfen, ob er erfolgreich abgeschlossen wurde. Die Dauer des Jobs hängt von der Anzahl der Eingabeelemente ab, die Sie eingereicht haben.

REST

Ersetzen Sie diese Werte in den folgenden 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 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/JOB_ID" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Ausgabe abrufen

Wenn ein Batchvorhersagejob abgeschlossen ist, rufen Sie die Ausgabe von dem von Ihnen angegebenen Speicherort ab:

  • Bei BigQuery befindet sich die Ausgabe in der Spalte response(JSON) der BigQuery-Zieltabelle.
  • In Cloud Storage wird die Ausgabe als JSONL-Datei am Cloud Storage-Ausgabespeicherort gespeichert.

Unterstützte Modelle

Die Gemini Enterprise Agent Platform unterstützt Batch-Vorhersagen für die folgenden selbst bereitgestellten Modelle:

  • Llama
    • publishers/meta/models/llama3_1@llama-3.1-8b-instruct
    • publishers/meta/models/llama3_1@llama-3.1-70b-instruct
    • publishers/meta/models/llama3_1@llama-3.1-405b-instruct-fp8
    • publishers/meta/models/llama3-2@llama-3.2-1b-instruct
    • publishers/meta/models/llama3-2@llama-3.2-3b-instruct
    • publishers/meta/models/llama3-2@llama-3.2-90b-vision-instruct
  • Gemma
    • publishers/google/models/gemma@gemma-1.1-2b-it
    • publishers/google/models/gemma@gemma-7b-it
    • publishers/google/models/gemma@gemma-1.1-7b-it
    • publishers/google/models/gemma@gemma-2b-it
    • publishers/google/models/gemma2@gemma-2-2b-it
    • publishers/google/models/gemma2@gemma-2-9b-it
    • publishers/google/models/gemma2@gemma-2-27b-it
  • Mistral
    • publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.2
    • publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.3
    • publishers/mistral-ai/models/mistral@mistral-7b-instruct-v0.1
    • publishers/mistral-ai/models/mistral@mistral-nemo-instruct-2407
  • Deepseek
    • publishers/deepseek-ai/models/deepseek-r1@deepseek-r1-distill-llama-8b