Les prédictions par lot vous permettent d'envoyer un grand nombre de requêtes multimodales dans une seule requête par lot.
Pour en savoir plus sur le workflow par lot, consultez Obtenir des prédictions par lot pour Gemini.
Modèles compatibles :
Modèle | Version |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-001 |
Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Exemple de syntaxe
Syntaxe permettant d'envoyer une requête d'API d'appel de fonction.
Une requête par lot utilise la même structure de données qu'une requête de génération de contenu de l'API Inference.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [ { "role": "user", "parts": { "text": "..." } } ], "system_instruction": { "parts": [ { ... } ] }, "generation_config": { ... } }'
Paramètres
Consultez des exemples pour en savoir plus sur la mise en œuvre.
Requête de corps
Paramètres | |
---|---|
|
Nom de votre projet Google Cloud |
|
Nom du projet. |
|
Modèle utilisé pour la prédiction par lot. |
|
Format des données. Pour la prédiction par lot Gemini, l'entrée BigQuery est compatible. |
|
Configuration de sortie qui détermine l'emplacement de sortie du modèle. |
inputConfig
Paramètres | |
---|---|
|
Format d'entrée de la requête. Utilisez |
|
URI source d'entrée. Il s'agit d'un URI de table BigQuery. |
outputConfig
Paramètres | |
---|---|
|
Format de sortie de la prédiction. Doit correspondre au format d'entrée. Utilisez |
|
URI cible de sortie. |
Examples
Demander une réponse par lot
Les requêtes par lots pour les modèles multimodaux n'acceptent que les sources de stockage BigQuery. Pour en savoir plus, consultez les ressources suivantes :
Selon le nombre d'éléments d'entrée envoyés, la tâche de génération par lot peut prendre un certain temps.
REST
Pour tester une requête multimodale à l'aide de l'API Vertex AI, envoyez une requête POST au point de terminaison du modèle du diffuseur.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : le nom de votre projet Google Cloud
- BP_JOB_NAME : le nom du job.
- INPUT_URI : URI source de l'entrée. Il s'agit d'un URI de table BigQuery ou d'un URI de fichier JSONL dans Cloud Storage.
- OUTPUT_URI : URI cible de sortie.
Méthode HTTP et URL :
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs
Corps JSON de la requête :
{ "name": "BP_JOB_NAME", "displayName": "BP_JOB_NAME", "model": "publishers/google/models/gemini-1.0-pro-001", "inputConfig": { "instancesFormat":"bigquery", "bigquerySource":{ "inputUri" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat":"bigquery", "bigqueryDestination":{ "outputUri": "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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/{PROJECT_ID}/locations/us-central1/batchPredictionJobs/{BATCH_JOB_ID}", "displayName": "BP_sample_publisher_BQ_20230712_134650", "model": "projects/{PROJECT_ID}/locations/us-central1/models/gemini-1.0-pro-001", "inputConfig": { "instancesFormat": "bigquery", "bigquerySource": { "inputUri": "bq://sample.text_input" } }, "modelParameters": {}, "outputConfig": { "predictionsFormat": "bigquery", "bigqueryDestination": { "outputUri": "bq://sample.llm_dataset.embedding_out_BP_sample_publisher_BQ_20230712_134650" } }, "state": "JOB_STATE_PENDING", "createTime": "2023-07-12T20:46:52.148717Z", "updateTime": "2023-07-12T20:46:52.148717Z", "labels": { "owner": "sample_owner", "product": "llm" }, "modelVersionId": "1", "modelMonitoringStatus": {} }
La réponse inclut un identifiant unique pour le job par lot.
Vous pouvez interroger l'état de la tâche par lot à l'aide de BATCH_JOB_ID jusqu'à ce que le paramètre state
soit défini sur JOB_STATE_SUCCEEDED
. Exemple :
curl \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs/BATCH_JOB_ID
Récupérer une sortie par lot
Une fois la tâche de prédiction par lot terminée, le résultat est stocké dans la table BigQuery que vous avez spécifiée dans votre requête.
Étapes suivantes
Découvrez comment régler un modèle Gemini dans Présentation du réglage du modèle pour Gemini.