Mit Batchvorhersagen können Sie mehrere Prompts aus reiner Textform, die nicht latenzempfindlich sind, an ein Llama-Modell senden. Im Vergleich zu Onlinevorhersagen, bei denen Sie für jede Anfrage einen Eingabeprompt senden, können Sie eine große Anzahl von Eingabeprompts in einer einzigen Anfrage zusammenfassen.
Während der Vorabversion fallen für Batchvorhersagen keine Gebühren an.
Unterstützte Llama-Modelle
Vertex AI unterstützt Batchvorhersagen für die folgenden Llama-Modelle:
- Llama 3.1 405B (
llama-3.1-405b-instruct-maas
) - Llama 3.1 70B (
llama-3.1-70b-instruct-maas
) - Llama 3.1 8B (
llama-3.1-8b-instruct-maas
)
Eingabe vorbereiten
Bevor Sie beginnen, müssen Sie Ihre Eingaben in einer BigQuery-Tabelle oder als JSONL-Datei in Cloud Storage vorbereiten. Die Eingabe für beide Quellen muss dem JSON-Format des OpenAI API-Schemas entsprechen, wie im folgenden Beispiel gezeigt:
{"custom_id": "test-request-0", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "meta/llama-3.1-405b-instruct-maas", "messages": [{"role": "system", "content": "You are a chef."}, {"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. |
Methode | Die Anfragemethode. |
url | Der Anfrageendpunkt. |
body(JSON) | Der Prompt für die Eingabe. |
- Die Eingabetabelle kann weitere Spalten enthalten, die vom Batchjob ignoriert und direkt an die Ausgabetabelle übergeben werden.
- Bei Batchvorhersagejobs werden zwei Spaltennamen für die Batchvorhersageausgabe reserviert: response(JSON) und id. Verwenden Sie diese Spalten nicht in der Eingabetabelle.
- Die Spalten method und url werden gelöscht und nicht in die Ausgabetabelle aufgenommen.
Cloud Storage
Bei Cloud Storage muss die Eingabedatei eine JSONL-Datei sein, die sich in einem Cloud Storage-Bucket befindet.
Eine Batchvorhersage anfordern
Sie können eine Batchvorhersage mit einem Llama-Modell erstellen, indem Sie Eingaben aus BigQuery oder Cloud Storage verwenden. Sie können unabhängig voneinander festlegen, ob Vorhersagen in einer BigQuery-Tabelle oder einer JSONL-Datei in einem Cloud Storage-Bucket ausgegeben werden sollen.
BigQuery
Geben Sie die BigQuery-Eingabetabelle, das Modell und den Ausgabeort an. Der Batch-Vorhersagejob und Ihre Tabelle müssen sich in derselben Region befinden.
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die Llama-Modelle unterstützt.
- PROJECT_ID: Ihre Projekt-ID.
- MODEL: Der Name des Modells, das optimiert werden soll.
- INPUT_URI: Die BigQuery-Tabelle, in der sich die Eingabe für die Batch-Vorhersage befindet, z. B.
myproject.mydataset.input_table
. - OUTPUT_FORMAT: Geben Sie
bigquery
an, um die Ausgabe in eine BigQuery-Tabelle zu leiten. Geben Siejsonl
an, um die Ausgabe in einen Cloud Storage-Bucket zu senden. - 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 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
.
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/meta/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, das Modell und den Ausgabeort Ihrer JSONL-Datei an.
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Eine Region, die Llama-Modelle unterstützt.
- PROJECT_ID: Ihre Projekt-ID.
- MODEL: Der Name des Modells, das optimiert werden soll.
- INPUT_URI: Der Cloud Storage-Speicherort Ihrer JSONL-Batch-Vorhersageeingabe, z. B.
gs://bucketname/path/to/jsonl
. - OUTPUT_FORMAT: Geben Sie
bigquery
an, um die Ausgabe in eine BigQuery-Tabelle zu leiten. Geben Siejsonl
an, um die Ausgabe in einen Cloud Storage-Bucket zu senden. - 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 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
.
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/meta/models/MODEL", "inputConfig": { "instancesFormat":"jsonl", "gcsDestination":{ "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:
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 von Ihnen eingereichten Eingabeelemente ab.
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
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 ID des Batchjobs, 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 Batch-Vorhersagejob abgeschlossen ist, rufen Sie die Ausgabe an dem von Ihnen angegebenen Speicherort ab. Bei BigQuery befindet sich die Ausgabe in der Spalte response(JSON) der BigQuery-Zieltabelle. Bei Cloud Storage wird die Ausgabe als JSONL-Datei am Cloud Storage-Ausgabespeicherort gespeichert.