Las predicciones por lotes te permiten enviar una gran cantidad de instrucciones multimodales en una sola solicitud por lotes.
Para obtener más información acerca del flujo de trabajo por lotes y cómo dar formato a tus datos de entrada, consulta Obtén predicciones por lotes para Gemini.
Modelos compatibles:
Modelo | Versión |
---|---|
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 |
Ejemplo de sintaxis
En la siguiente sintaxis, se muestra cómo enviar una solicitud a la API de predicción por lotes con el comando curl
. Este ejemplo es específico del almacenamiento de BigQuery.
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": "..." } } }'
Parámetros
Consulta ejemplos para obtener detalles sobre la implementación.
Solicitud del cuerpo
Parámetros | |
---|---|
|
Un nombre que elijas para tu trabajo. |
|
El modelo que se usará para la predicción por lotes. |
|
El formato de los datos. Para la predicción por lotes de Gemini, se admiten las fuentes de entrada de Cloud Storage y BigQuery. |
|
La configuración de salida que determina la ubicación de resultado del modelo. Se admiten las ubicaciones de salida de Cloud Storage y BigQuery. |
inputConfig
Parámetros | |
---|---|
|
El formato de entrada de la instrucción. Usa |
|
Es el URI de la fuente de entrada. Es una ubicación de Cloud Storage del archivo JSONL en el formato |
|
Es el URI de la fuente de entrada. Este es un URI de tabla de BigQuery con
el formato |
outputConfig
Parámetros | |
---|---|
|
El formato de salida de la predicción. Usa |
|
La ubicación del bucket y el directorio de Cloud Storage, en el formato |
|
El URI de BigQuery de la tabla de salida de destino, con el
formato |
Ejemplos
Solicitar una respuesta por lotes
Las solicitudes por lotes para modelos multimodales aceptan fuentes de almacenamiento de Cloud Storage y BigQuery. Para obtener más información, consulta lo siguiente:
Según la cantidad de elementos de entrada que hayas enviado, una tarea de predicción por lotes puede tardar un tiempo en completarse.
REST
Para crear un trabajo de predicción por lotes, usa el método projects.locations.batchPredictionJobs.create
.
Entrada de Cloud Storage
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Es una región que admite modelos de Gemini.
- PROJECT_ID: El ID del proyecto.
- INPUT_URI: Es la ubicación de Cloud Storage de tu entrada de predicción por lotes JSONL, como
gs://bucketname/path/to/file.jsonl
. - OUTPUT_FORMAT: Para generar una salida en una tabla de BigQuery, especifica
bigquery
. Para generar un resultado en un bucket de Cloud Storage, especificajsonl
. - DESTINATION: Para BigQuery, especifica
bigqueryDestination
. En Cloud Storage, especificagcsDestination
. - OUTPUT_URI_FIELD_NAME: Para BigQuery, especifica
outputUri
. En Cloud Storage, especificaoutputUriPrefix
. - OUTPUT_URI: Para BigQuery, especifica la ubicación de la tabla, como
bq://myproject.mydataset.output_result
. La región del conjunto de datos de BigQuery de salida debe ser la misma que la del trabajo de predicción por lotes de Vertex AI. En Cloud Storage, especifica el bucket y la ubicación del directorio, comogs://mybucket/path/to/output
.
Cuerpo JSON de la solicitud:
{ "displayName": "my-cloud-storage-batch-prediction-job", "model": "publishers/google/models/gemini-1.5-flash-002", "inputConfig": { "instancesFormat": "jsonl", "gcsSource": { "uris" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat": "OUTPUT_FORMAT", "DESTINATION": { "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Entrada de BigQuery
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Es una región que admite modelos de Gemini.
- PROJECT_ID: El ID del proyecto.
- INPUT_URI: Es la tabla de BigQuery en la que se encuentra la entrada de tu predicción por lotes, como
bq://myproject.mydataset.input_table
. No se admiten conjuntos de datos multirregionales. - OUTPUT_FORMAT: Para generar una salida en una tabla de BigQuery, especifica
bigquery
. Para generar un resultado en un bucket de Cloud Storage, especificajsonl
. - DESTINATION: Para BigQuery, especifica
bigqueryDestination
. En Cloud Storage, especificagcsDestination
. - OUTPUT_URI_FIELD_NAME: Para BigQuery, especifica
outputUri
. En Cloud Storage, especificaoutputUriPrefix
. - OUTPUT_URI: Para BigQuery, especifica la ubicación de la tabla, como
bq://myproject.mydataset.output_result
. La región del conjunto de datos de BigQuery de salida debe ser la misma que la del trabajo de predicción por lotes de Vertex AI. En Cloud Storage, especifica el bucket y la ubicación del directorio, comogs://mybucket/path/to/output
.
Cuerpo JSON de la solicitud:
{ "displayName": "my-bigquery-batch-prediction-job", "model": "publishers/google/models/gemini-1.5-flash-002", "inputConfig": { "instancesFormat": "bigquery", "bigquerySource":{ "inputUri" : "INPUT_URI" } }, "outputConfig": { "predictionsFormat": "OUTPUT_FORMAT", "DESTINATION": { "OUTPUT_URI_FIELD_NAME": "OUTPUT_URI" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
En la respuesta, se incluye un identificador único para el trabajo por lotes.
Puedes consultar el estado del trabajo por lotes mediante BATCH_JOB_ID hasta que el state
sea JOB_STATE_SUCCEEDED
. Por ejemplo:
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
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Entrada de Cloud Storage
Entrada de BigQuery
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Entrada de Cloud Storage
Entrada de BigQuery
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Entrada de Cloud Storage
Entrada de BigQuery
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Entrada de Cloud Storage
Entrada de BigQuery
Recuperar los resultados por lotes
Cuando se completa una tarea de predicción por lotes, el resultado se almacena en el bucket de Cloud Storage o en la tabla de BigQuery que especificaste en la solicitud.
¿Qué sigue?
- Aprende a ajustar un modelo de Gemini en Descripción general del ajuste de modelos para Gemini.
- Obtén más información acerca de cómo obtener predicciones por lotes para Gemini.