Les prédictions par lots vous permettent d'envoyer plusieurs requêtes qui ne sont pas sensibles à la latence à un modèle Anthropic Claude. Contrairement aux prédictions en ligne, où vous envoyez une requête d'entrée pour chaque requête, vous pouvez regrouper un grand nombre de requêtes d'entrée en une seule.
Modèles Anthropic Claude compatibles
Vertex AI est compatible avec les prédictions par lots pour les modèles Anthropic Claude suivants :
Quotas
Par défaut, le nombre de requêtes par lot simultanées que vous pouvez effectuer dans un même projet est de quatre.
Préparer l'entrée
Avant de commencer, préparez votre ensemble de données d'entrée dans une table BigQuery ou sous forme de fichier JSONL dans Cloud Storage. L'entrée pour les deux sources doit respecter le format JSON du schéma de l'API Anthropic Claude, comme illustré dans l'exemple suivant :
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2023-10-16",
"max_tokens": 50
}
}
BigQuery
Votre table d'entrée BigQuery doit respecter le schéma suivant :
Nom de la colonne | Description |
---|---|
custom_id | Un ID pour chaque requête afin de faire correspondre l'entrée à la sortie. |
request | Le corps de la requête, qui correspond à votre requête d'entrée et doit respecter le schéma de l'API Anthropic Claude. |
- Votre table d'entrée peut comporter d'autres colonnes, qui sont ignorées par le job par lot.
- Les jobs de prédiction par lots réservent deux noms de colonnes pour la sortie de prédiction par lots :
response(JSON)
etstatus
. N'utilisez pas ces colonnes dans la table d'entrée.
Cloud Storage
Pour Cloud Storage, le fichier d'entrée doit être un fichier JSONL situé dans un bucket Cloud Storage.
Demander une prédiction par lots
Effectuez une prédiction par lots sur un modèle Claude à l'aide d'entrées provenant de BigQuery ou de Cloud Storage. Vous pouvez choisir d'exporter les prédictions vers une table BigQuery ou un fichier JSONL dans un bucket Cloud Storage.
BigQuery
Spécifiez votre table d'entrée, votre modèle et votre emplacement de sortie BigQuery. Le job de prédiction par lots et votre table doivent se trouver dans la même région.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région compatible avec le modèle Anthropic Claude sélectionné (voir Régions Claude).
- PROJECT_ID : ID de votre projet.
- MODEL : nom du modèle.
- INPUT_URI : table BigQuery où se trouve votre entrée de prédiction par lots, par exemple
bq://myproject.mydataset.input_table
. - OUTPUT_FORMAT : pour générer une sortie dans une table BigQuery, spécifiez
bigquery
. Pour générer la sortie dans un bucket Cloud Storage, spécifiezjsonl
. - DESTINATION : pour BigQuery, spécifiez
bigqueryDestination
. Pour Cloud Storage, spécifiezgcsDestination
. - OUTPUT_URI_FIELD_NAME : pour BigQuery, spécifiez
outputUri
. Pour Cloud Storage, spécifiezoutputUriPrefix
. - OUTPUT_URI : pour BigQuery, spécifiez l'emplacement de la table, par exemple
bq://myproject.mydataset.output_result
. Pour Cloud Storage, spécifiez l'emplacement du bucket et du dossier, par exemplegs://mybucket/path/to/outputfile
.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Corps JSON de la requête :
'{ "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" } } }'
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON semblable à la suivante.
Cloud Storage
Spécifiez l'emplacement Cloud Storage, le modèle et l'emplacement de sortie de votre fichier JSONL.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région compatible avec le modèle Anthropic Claude sélectionné (voir Régions Claude).
- PROJECT_ID : .
- MODEL : nom du modèle.
- INPUT_URIS : liste d'emplacements Cloud Storage de votre entrée de prédiction par lots JSONL, séparés par une virgule, comme
gs://bucketname/path/to/jsonl
. - OUTPUT_FORMAT : pour générer une sortie dans une table BigQuery, spécifiez
bigquery
. Pour générer la sortie dans un bucket Cloud Storage, spécifiezjsonl
. - DESTINATION : pour BigQuery, spécifiez
bigqueryDestination
. Pour Cloud Storage, spécifiezgcsDestination
. - OUTPUT_URI_FIELD_NAME : pour BigQuery, spécifiez
outputUri
. Pour Cloud Storage, spécifiezoutputUriPrefix
. - OUTPUT_URI : pour BigQuery, spécifiez l'emplacement de la table, par exemple
bq://myproject.mydataset.output_result
. Pour Cloud Storage, spécifiez l'emplacement du bucket et du dossier, par exemplegs://mybucket/path/to/outputfile
.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Corps JSON de la requête :
'{ "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" } } }'
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON semblable à la suivante.
Obtenir l'état d'un job de prédiction par lots
Obtenez l'état de votre job de prédiction par lots pour vérifier qu'il a bien été effectué.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : .
- LOCATION : région où se trouve votre job par lot.
- JOB_ID : ID du job par lot renvoyé lors de la création du job.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON semblable à la suivante.
Récupérer la sortie de prédiction par lots
Une fois le job de prédiction par lots terminé, récupérez la sortie à partir de l'emplacement que vous avez spécifié. Pour BigQuery, la sortie se trouve dans la colonne response(JSON)
de votre table BigQuery de destination. Pour Cloud Storage, elle est enregistrée en tant que fichier JSONL à l'emplacement Cloud Storage de sortie.
Vous pouvez accéder aux résultats complets de la prédiction par lots une fois que toutes les lignes ont été traitées ou au bout de 24 heures, selon la première échéance atteinte.