Mit Batchvorhersagen können Sie mehrere Prompts, die nicht latenzsensitiv sind, an ein Anthropic Claude-Modell senden. Im Gegensatz zu Onlinevorhersagen, bei denen Sie für jede Anfrage einen Eingabe-Prompt senden, können Sie eine große Anzahl von Eingabe-Prompts in einer einzelnen Anfrage zusammenfassen.
Unterstützte Anthropic Claude-Modelle
Vertex AI unterstützt Batchvorhersagen für die folgenden Anthropic Claude-Modelle:
Kontingente
Standardmäßig können Sie in einem einzelnen Projekt vier Batchanfragen gleichzeitig stellen.
Eingabe vorbereiten
Bevor Sie beginnen, bereiten Sie Ihr Eingabedataset in einer BigQuery-Tabelle oder als JSONL-Datei in Cloud Storage vor. Die Eingabe für beide Quellen muss dem JSON-Format des Anthropic Claude API-Schemas entsprechen, wie im folgenden Beispiel gezeigt:
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2023-10-16",
"max_tokens": 50
}
}
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. |
Anfrage | Der Anfragetext, der Ihr Eingabeaufforderung ist und dem Anthropic Claude API-Schema entsprechen muss |
- Ihre Eingabetabelle kann weitere Spalten enthalten, die vom Batchjob ignoriert werden.
- Für die Ausgabe von Batchvorhersagen werden in Batchvorhersagejobs zwei Spaltennamen reserviert:
response(JSON)
undstatus
. Verwenden Sie diese Spalten nicht in der Eingabetabelle.
Cloud Storage
Für Cloud Storage muss die Eingabedatei eine JSONL-Datei sein, die sich in einem Cloud Storage-Bucket befindet.
Eine Batchvorhersage anfordern
Batchvorhersage für ein Claude-Modell mit Eingaben aus BigQuery oder Cloud Storage erstellen. Sie können unabhängig voneinander auswählen, ob Vorhersagen in eine BigQuery-Tabelle oder in eine JSONL-Datei in einem Cloud Storage-Bucket ausgegeben werden sollen.
BigQuery
Geben Sie die BigQuery-Eingabetabelle, das Modell und den Ausgabespeicherort an. Der Batchvorhersagejob und die Tabelle müssen sich in derselben Region befinden.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python-API-Referenzdokumentation.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die das ausgewählte Anthropic Claude-Modell unterstützt (siehe Claude-Regionen).
- PROJECT_ID: Ihre Projekt-ID.
- MODEL: Der Name des Modells.
- INPUT_URI: Die BigQuery-Tabelle, in der sich die Eingabe für die Batchvorhersage befindet, z. B.
bq://myproject.mydataset.input_table
. - OUTPUT_FORMAT: Wenn Sie die Ausgabe in einer BigQuery-Tabelle speichern möchten, geben Sie
bigquery
an. Geben Siejsonl
an, um die Ausgabe in einen Cloud Storage-Bucket zu schreiben. - 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
. Geben Sie für Cloud Storage den Bucket- und Ordnerspeicherort an, z. B.gs://mybucket/path/to/outputfile
.
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/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "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:
Cloud Storage
Geben Sie den Cloud Storage-Speicherort Ihrer JSONL-Datei, das Modell und den Ausgabespeicherort an.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python-API-Referenzdokumentation.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die das ausgewählte Anthropic Claude-Modell unterstützt (siehe Claude-Regionen).
- PROJECT_ID: Ihre Projekt-ID.
- MODEL: Der Name des Modells.
- INPUT_URIS: Eine durch Kommas getrennte Liste der Cloud Storage-Speicherorte Ihrer JSONL-Batchvorhersageeingabe, z. B.
gs://bucketname/path/to/jsonl
. - OUTPUT_FORMAT: Wenn Sie die Ausgabe in einer BigQuery-Tabelle speichern möchten, geben Sie
bigquery
an. Geben Siejsonl
an, um die Ausgabe in einen Cloud Storage-Bucket zu schreiben. - 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
. Geben Sie für Cloud Storage den Bucket- und Ordnerspeicherort an, z. B.gs://mybucket/path/to/outputfile
.
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/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"jsonl", "gcsSource":{ "uris" : "INPUT_URIS" } }, "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:
Status eines Batchvorhersagejobs abrufen
Rufen Sie den Status Ihres Batchvorhersagejobs ab, um zu prüfen, ob er erfolgreich abgeschlossen wurde.
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 der Batchvorhersage abrufen
Wenn ein Batchvorhersagejob abgeschlossen ist, rufen Sie die Ausgabe vom angegebenen Speicherort ab. In BigQuery befindet sich die Ausgabe in der Spalte response(JSON)
Ihrer BigQuery-Tabelle. Bei Cloud Storage wird die Ausgabe als JSONL-Datei am Cloud Storage-Ausgabeort gespeichert.
Sie können auf die vollständigen Batchvorhersageergebnisse zugreifen, nachdem alle Zeilen abgeschlossen wurden oder nach 24 Stunden, je nachdem, was zuerst eintritt.