Ricevi previsioni batch per Gemini

Le previsioni batch consentono di inviare un numero elevato di prompt multimodali in una singola richiesta batch.

Per ulteriori informazioni sul flusso di lavoro batch e su come formattare i dati di input, consulta Ricevere previsioni batch per Gemini.

Modelli supportati:

Modello Versione
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

Sintassi di esempio

Sintassi per inviare una richiesta API per le previsioni batch.

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}/batchPredictionJobs \
-d '{
    "displayName": "...",
    "model": "publishers/google/models/${MODEL_ID}",
    "inputConfig": {
      "instancesFormat":"bigquery",
      "bigquerySource":{
        "inputUri" : "..."
      }
    },
    "outputConfig": {
      "predictionsFormat":"bigquery",
      "bigqueryDestination":{
        "outputUri": "..."
        }
    }
}'

Parametri

Consulta gli esempi per i dettagli dell'implementazione.

Richiesta corpo

Parametri

displayName

Un nome che scegli per il tuo job.

model

Il modello da utilizzare per la previsione batch.

inputConfig

Il formato dei dati. Per la previsione batch di Gemini, è supportato l'input di BigQuery.

outputConfig

La configurazione di output che determina la posizione di output del modello.

inputConfig

Parametri

instancesFormat

Il formato di input del prompt. Usa bigquery.

bigquerySource.inputUri

L'URI di origine di input. Questo è un URI della tabella BigQuery nel formato bq://PROJECT_ID.DATASET.TABLE.

outputConfig

Parametri

predictionsFormat

Il formato di output della previsione. Deve corrispondere al formato di input. Usa bigquery.

bigqueryDestination.outputUri

L'URI BigQuery della tabella di output di destinazione, nel formato bq://PROJECT_ID.DATASET.TABLE. Se la tabella non esiste già, viene creata automaticamente.

Esempi

Richiedi una risposta batch

Le richieste batch per i modelli multimodali accettano solo origini di archiviazione BigQuery. Per saperne di più, consulta quanto segue:

A seconda del numero di elementi di input che hai inviato, il completamento di un'attività di generazione in batch può richiedere del tempo.

REST

Per testare un prompt multimodale utilizzando l'API Vertex AI, invia una richiesta POST all'endpoint del modello del publisher.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il nome del tuo progetto Google Cloud.
  • BP_JOB_NAME: un nome che scegli per il tuo lavoro.
  • INPUT_URI: l'URI di origine di input. Questo è un URI della tabella BigQuery nel formato bq://PROJECT_ID.DATASET.TABLE.
  • OUTPUT_URI: l'URI BigQuery della tabella di output di destinazione, nel formato bq://PROJECT_ID.DATASET.TABLE. Se la tabella non esiste già, viene creata automaticamente.

Metodo HTTP e URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs

Corpo JSON della richiesta:

{
    "displayName": "BP_JOB_NAME",
    "model": "publishers/google/models/gemini-1.0-pro-002",
    "inputConfig": {
      "instancesFormat":"bigquery",
      "bigquerySource":{
        "inputUri" : "INPUT_URI"
      }
    },
    "outputConfig": {
      "predictionsFormat":"bigquery",
      "bigqueryDestination":{
        "outputUri": "OUTPUT_URI"
        }
    }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

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

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/{PROJECT_ID}/locations/us-central1/batchPredictionJobs/{BATCH_JOB_ID}",
  "displayName": "My first batch prediction",
  "model": "projects/{PROJECT_ID}/locations/us-central1/models/gemini-1.0-pro-002",
  "inputConfig": {
    "instancesFormat": "bigquery",
    "bigquerySource": {
      "inputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_input"
    }
  },
  "modelParameters": {},
  "outputConfig": {
    "predictionsFormat": "bigquery",
    "bigqueryDestination": {
      "outputUri": "bq://{PROJECT_ID}.mydataset.batch_predictions_output"
    }
  },
  "state": "JOB_STATE_PENDING",
  "createTime": "2023-07-12T20:46:52.148717Z",
  "updateTime": "2023-07-12T20:46:52.148717Z",
  "modelVersionId": "1"
}

La risposta include un identificatore univoco per il job batch. Puoi eseguire il polling dello stato del job batch utilizzando BATCH_JOB_ID fino a quando il job state non è JOB_STATE_SUCCEEDED. Ad esempio:

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

Recuperare l'output batch

Quando viene completata un'attività di previsione batch, l'output viene archiviato nella tabella BigQuery specificata nella richiesta.

Passaggi successivi