Generare previsioni batch per Gemini

Le previsioni batch ti 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 l'input vedi i dati Ottieni previsioni batch per Gemini.

Modelli supportati:

Modello Versione
Gemini 1.5 Flash gemini-1.5-flash-002
gemini-1.5-flash-001
Gemini 1.5 Pro gemini-1.5-pro-002
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

Per informazioni dettagliate sull'implementazione, consulta gli esempi.

Richiesta del corpo

Parametri

displayName

Un nome scelto 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 BigQuery.

outputConfig

La configurazione di output che determina la posizione dell'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 in il modulo 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 modulo bq://PROJECT_ID.DATASET.TABLE. Se la tabella non esiste già, verrà creata automaticamente.

Esempi

Richiedere una risposta collettiva

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

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

REST

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

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

  • PROJECT_ID: il nome del tuo progetto Google Cloud.
  • BP_JOB_NAME: un nome scelto per il tuo job.
  • INPUT_URI: l'URI di origine dell'input. Si tratta di un URI della tabella BigQuery nel formato bq://PROJECT_ID.DATASET.TABLE. Oppure l'URI del tuo bucket Cloud Storage.
  • INPUT_SOURCE: il tipo di origine dati. Le opzioni sono bigquerySource e gcsSource.
  • INSTANCES_FORMAT: formato delle istanze di input, può essere "jsonl" o "bigquery".
  • OUTPUT_URI: l'URI della tabella di output o di destinazione, nel modulo bq://PROJECT_ID.DATASET.TABLE. Se la tabella non esiste già, viene creato 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":"INSTANCES_FORMAT",
      "inputSource":{ INPUT_SOURCE
        "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, quindi esegui il comando seguente:

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, quindi esegui il comando seguente:

$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 per lo 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