Previsões em lote

As previsões em lote permitem 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 plataforma de agentes do Gemini Enterprise oferece suporte a previsões em lote para os seguintes modelos.

Llama :

OpenAI gpt-oss :

Qwen :

DeepSeek :

Modelos de incorporação :

Preparar entrada

Antes de começar, prepare suas entradas em uma tabela do BigQuery ou como um arquivo JSONL no Cloud Storage. A entrada para as duas origens precisa seguir o esquema da API OpenAI formato JSONL, 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 incorporação:

{"custom_id": "test-request-0", "method": "POST", "url": "/v1/embeddings", "body": {"model": "MODEL_ID", "input": "Hello World"}}

BigQuery

A tabela de entrada do BigQuery precisa seguir este esquema:

Nome da coluna Descrição
custom_id Um ID para cada solicitação para corresponder à entrada com a saída.
método O método da solicitação.
url O endpoint da solicitação.
body(JSON) Seu comando de entrada.
  • A tabela de entrada pode ter outras colunas, que são ignoradas pelo job 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 de 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 predição em lote em um modelo usando a entrada do BigQuery ou do Cloud Storage. Você pode escolher de forma independente para 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, o modelo e o local de saída do BigQuery. O job de previsão em lote e a tabela precisam estar na mesma região.

REST

Depois de configurar seu ambiente, você pode usar o REST para testar um comando 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 que oferece suporte ao modelo.
  • PROJECT_ID: seu [ID do projeto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • 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 a saída em uma tabela do BigQuery, especifique bigquery. Para gerar a saída em um bucket do Cloud Storage, especifique jsonl.
  • DESTINATION: para o BigQuery, especifique bigqueryDestination. Para o Cloud Storage, especifique gcsDestination.
  • OUTPUT_URI_FIELD_NAME: para o BigQuery, especifique outputUri. Para o Cloud Storage, especifique outputUriPrefix.
  • OUTPUT_URI: para o BigQuery, especifique o local da tabela, como myproject.mydataset.output_result. Para o Cloud Storage, especifique o bucket e o local da pasta, como gs://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 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.

Cloud Storage

Especifique o local do Cloud Storage, o modelo e o local de saída do arquivo JSONL.

REST

Depois de configurar seu ambiente, você pode usar o REST para testar um comando 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 que oferece suporte ao modelo.
  • PROJECT_ID: seu [ID do projeto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • MODEL: o nome do modelo a ser ajustado.
  • INPUT_URI: o local do Cloud Storage da entrada de previsão em lote JSONL, como gs://bucketname/path/to/jsonl.
  • OUTPUT_FORMAT: para gerar a saída em uma tabela do BigQuery, especifique bigquery. Para gerar a saída em um bucket do Cloud Storage, especifique jsonl.
  • DESTINATION: para o BigQuery, especifique bigqueryDestination. Para o Cloud Storage, especifique gcsDestination.
  • OUTPUT_URI_FIELD_NAME: para o BigQuery, especifique outputUri. Para o Cloud Storage, especifique outputUriPrefix.
  • OUTPUT_URI: para o BigQuery, especifique o local da tabela, como myproject.mydataset.output_result. Para o Cloud Storage, especifique o bucket e o local da pasta, como gs://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 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.

Conferir o status de um job de previsão em lote

Confira o estado do job de previsão em lote para verificar se ele foi concluído. A duração do job depende do número de itens de entrada enviados.

REST

Depois de configurar seu ambiente, você pode usar o REST para testar um comando 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: seu [ID do projeto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • LOCATION: a região em que o 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 previsão em lote for concluído, recupere a saída do local especificado. Para o 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