Com as previsões em lote, é possível enviar um grande número de solicitações multimodais em uma única solicitação em lote.
Saiba mais sobre o fluxo de trabalho em lote e como formatar a entrada dados, consulte Receba previsões em lote para o Gemini.
Modelos com suporte:
Modelo | Versão |
---|---|
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 |
Exemplo de sintaxe
A sintaxe a seguir mostra como enviar uma solicitação de API de previsão em lote usando o comando curl
. Este exemplo é específico para o armazenamento do 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
Confira exemplos para detalhes de implementação.
Solicitação de corpo
Parâmetros | |
---|---|
|
Um nome que você escolhe para o job. |
|
O modelo a ser usado na previsão em lote. |
|
O formato de dados. Para a previsão em lote do Gemini, as origens de entrada do Cloud Storage e do BigQuery são aceitas. |
|
A configuração de saída que determina o local de saída do modelo. Os locais de saída do Cloud Storage e do BigQuery são compatíveis. |
inputConfig
Parâmetros | |
---|---|
|
O formato de entrada do comando. Use |
|
O URI da origem da entrada. É um local do Cloud Storage do arquivo JSONL
no formato |
|
O URI da origem da entrada. Este é um URI de tabela do BigQuery no
no formato |
outputConfig
Parâmetros | |
---|---|
|
O formato de saída da previsão. Use |
|
O bucket e o local do diretório do Cloud Storage, no formato
|
|
O URI do BigQuery da tabela de saída de destino, na
formulário |
Exemplos
Solicitar uma resposta em lote
As solicitações em lote para modelos multimodais aceitam origens de armazenamento do Cloud Storage e do BigQuery. Para saber mais, consulte:
Dependendo do número de itens de entrada enviados, uma tarefa de previsão em lote pode levar algum tempo para ser concluída.
REST
Para criar um job de previsão em lote, use o método
projects.locations.batchPredictionJobs.create
.
Entrada do Cloud Storage
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região compatível com modelos Gemini.
- PROJECT_ID: o ID do projeto.
- INPUT_URI: o local do Cloud Storage da entrada de previsão em lote JSONL, como
gs://bucketname/path/to/file.jsonl
. - OUTPUT_FORMAT: para gerar saída em uma tabela do BigQuery, especifique
bigquery
. Para gerar saída em um bucket do Cloud Storage, especifiquejsonl
. - DESTINATION: para o BigQuery, especifique
bigqueryDestination
. Para o Cloud Storage, especifiquegcsDestination
. - OUTPUT_URI_FIELD_NAME:
para o BigQuery, especifique
outputUri
. Para o Cloud Storage, especifiqueoutputUriPrefix
. - OUTPUT_URI: para o BigQuery, especifique o local da tabela, como
bq://myproject.mydataset.output_result
. A região do conjunto de dados de saída do BigQuery precisa ser a mesma do job de previsão em lote da Vertex AI. Para o Cloud Storage, especifique o bucket e o local do diretório, comogs://mybucket/path/to/output
.
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a seguinte.
Entrada do BigQuery
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região compatível com modelos Gemini.
- PROJECT_ID: o ID do projeto.
- INPUT_URI: a tabela do BigQuery em que a entrada de previsão em lote está localizada, como
bq://myproject.mydataset.input_table
. Não há suporte para conjuntos de dados multirregionais. - OUTPUT_FORMAT: para gerar saída em uma tabela do BigQuery, especifique
bigquery
. Para gerar saída em um bucket do Cloud Storage, especifiquejsonl
. - DESTINATION: para o BigQuery, especifique
bigqueryDestination
. Para o Cloud Storage, especifiquegcsDestination
. - OUTPUT_URI_FIELD_NAME:
para o BigQuery, especifique
outputUri
. Para o Cloud Storage, especifiqueoutputUriPrefix
. - OUTPUT_URI: para o BigQuery, especifique o local da tabela, como
bq://myproject.mydataset.output_result
. A região do conjunto de dados de saída do BigQuery precisa ser a mesma do job de previsão em lote da Vertex AI. Para o Cloud Storage, especifique o bucket e o local do diretório, comogs://mybucket/path/to/output
.
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a seguinte.
A resposta inclui um identificador exclusivo para a tarefa em lote.
É possível pesquisar o status da tarefa em lote usando BATCH_JOB_ID até que o job state
seja JOB_STATE_SUCCEEDED
. Exemplo:
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
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Entrada do Cloud Storage
Entrada do BigQuery
Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Entrada do Cloud Storage
Entrada do BigQuery
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Entrada do Cloud Storage
Entrada do BigQuery
Go
Antes de testar esse exemplo, siga as instruções de configuração para Go no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Go.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Entrada do Cloud Storage
Entrada do BigQuery
Recuperar saída em lote
Quando uma tarefa de previsão em lote é concluída, a saída é armazenada no bucket do Cloud Storage ou na tabela do BigQuery especificada na solicitação.
A seguir
- Saiba como ajustar um modelo do Gemini na Visão geral do ajuste de modelos para o Gemini.
- Saiba como Receba previsões em lote para o Gemini.