Com as previsões em lote, é possível enviar com eficiência vários comandos somente de texto que não são sensíveis à latência para um modelo. Em comparação com as previsões on-line, em que você envia um comando de entrada para cada solicitação, é possível agrupar um grande número de comandos de entrada em uma única solicitação.
Modelos compatíveis
A Vertex AI é compatível com previsões em lote para os seguintes modelos:
Llama:
OpenAI gpt-oss:
Qwen:
DeepSeek:
Modelos de embedding:
Preparar entrada
Antes de começar, prepare as entradas em uma tabela do BigQuery ou como um arquivo JSONL no Cloud Storage. A entrada para ambas as fontes precisa seguir o formato JSONL do esquema da API OpenAI, conforme mostrado nos exemplos a seguir.
Modelos de linguagem grande:
{"custom_id": "test-request-0", "method": "POST", "url": "/v1/chat/completions", "body": {"model": "MODEL_ID", "messages": [{"role": "user", "content": "Give me a recipe for banana bread"}], "max_tokens": 1000}}
Modelos de embedding:
{"custom_id": "test-request-0", "method": "POST", "url": "/v1/embeddings", "body": {"model": "MODEL_ID", "input": "Hello World"}}
BigQuery
Sua tabela de entrada do BigQuery precisa obedecer ao seguinte esquema:
| Nome da coluna | Descrição |
|---|---|
| custom_id | Um ID para cada solicitação que corresponde à entrada e à saída. |
| método | O método de solicitação. |
| url | O endpoint de solicitação. |
| body(JSON) | Seu comando de entrada. |
- A tabela de entrada pode ter outras colunas, que são ignoradas pelo trabalho em lote e transmitidas diretamente para a tabela de saída.
- Os jobs de previsão em lote reservam dois nomes de coluna para a saída da previsão em lote: response(JSON) e id. Não use essas colunas na tabela de entrada.
- As colunas method e url são descartadas e não incluídas na tabela de saída.
Cloud Storage
Para o Cloud Storage, o arquivo de entrada precisa ser um arquivo JSONL localizado em um bucket do Cloud Storage.
Solicitar uma predição em lote
Faça uma previsão em lote com um modelo usando a entrada do BigQuery ou do Cloud Storage. É possível escolher de forma independente gerar previsões em uma tabela do BigQuery ou em um arquivo JSONL em um bucket do Cloud Storage.
BigQuery
Especifique a tabela de entrada do BigQuery, o modelo e o local de saída. O job de previsão em lote e a tabela precisam estar na mesma região.
REST
Depois de configurou seu ambiente use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao publisher endpoint do modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região compatível com o modelo.
- PROJECT_ID: o ID do projeto.
- MODEL: o nome do modelo a ser ajustado.
- INPUT_URI: a tabela do BigQuery em que a entrada de previsão em lote está localizada, como
myproject.mydataset.input_table. - OUTPUT_FORMAT: para gerar uma saída em uma tabela do BigQuery, especifique
bigquery. Para gerar em um bucket do Cloud Storage, especifiquejsonl. - DESTINATION: para o BigQuery, especifique
bigqueryDestination. No Cloud Storage, especifiquegcsDestination. - OUTPUT_URI_FIELD_NAME:
Para o BigQuery, especifique
outputUri. No Cloud Storage, especifiqueoutputUriPrefix. - OUTPUT_URI: para o BigQuery, especifique o local da tabela, como
myproject.mydataset.output_result. Para o Cloud Storage, especifique o local do bucket e da pasta, comogs://mybucket/path/to/outputfile.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Corpo JSON da solicitação:
'{
"displayName": "JOB_NAME",
"model": "publishers/PUBLISHER/models/MODEL_ID",
"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 abaixo:
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.
Cloud Storage
Especifique o local do Cloud Storage, o modelo e o local de saída do arquivo JSONL.
REST
Depois de configurou seu ambiente use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao publisher endpoint do modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região compatível com o modelo.
- PROJECT_ID: o ID do projeto.
- MODEL: o nome do modelo a ser ajustado.
- INPUT_URI: o local no Cloud Storage da entrada de previsão em lote JSONL, como
gs://bucketname/path/to/jsonl. - OUTPUT_FORMAT: para gerar uma saída em uma tabela do BigQuery, especifique
bigquery. Para gerar em um bucket do Cloud Storage, especifiquejsonl. - DESTINATION: para o BigQuery, especifique
bigqueryDestination. No Cloud Storage, especifiquegcsDestination. - OUTPUT_URI_FIELD_NAME:
Para o BigQuery, especifique
outputUri. No Cloud Storage, especifiqueoutputUriPrefix. - OUTPUT_URI: para o BigQuery, especifique o local da tabela, como
myproject.mydataset.output_result. Para o Cloud Storage, especifique o local do bucket e da pasta, comogs://mybucket/path/to/outputfile.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs
Corpo JSON da solicitação:
'{
"displayName": "JOB_NAME",
"model": "publishers/PUBLISHER/models/MODEL_ID",
"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 abaixo:
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.
Conferir o status de um job de previsão em lote
Confira o estado do seu job de predição em lote para verificar se ele foi concluído com sucesso. A duração do job depende do número de itens de entrada enviados.
REST
Depois de configurou seu ambiente use REST para testar uma solicitação de texto. O exemplo a seguir envia uma solicitação ao publisher endpoint do modelo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que seu job em lote está localizado.
- JOB_ID: o ID do job em lote retornado quando você criou o job.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/batchPredictionJobs/JOB_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Recuperar saída
Quando um job de predição em lote for concluído, recupere a saída do local especificado. No BigQuery, a saída está na coluna response(JSON) da tabela de destino do BigQuery. Para o Cloud Storage, a saída é salva como um arquivo JSONL no local de saída do Cloud Storage.
A seguir
- Saiba como chamar as APIs do MaaS para modelos abertos em casos de uso de streaming e sem streaming.