Com as previsões em lote, é possível enviar vários comandos que não são sensíveis à latência para um modelo do Anthropic Claude. 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 Anthropic Claude compatíveis
A Vertex AI oferece suporte a previsões em lote para os seguintes modelos do Anthropic Claude:
Cotas
Por padrão, o número de solicitações em lote simultâneas que podem ser feitas em um único projeto é quatro.
Preparar entrada
Antes de começar, prepare o conjunto de dados de entrada em uma tabela do BigQuery ou como um arquivo JSONL no Cloud Storage. A entrada para ambas as fontes precisa seguir o formato JSON do esquema da API Anthropic Claude, conforme mostrado no exemplo a seguir:
{
"custom_id": "request-1",
"request": {
"messages": [{"role": "user", "content": "Hello!"}],
"anthropic_version": "vertex-2023-10-16",
"max_tokens": 50
}
}
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 com a saída. |
solicitação | O corpo da solicitação, que é seu comando de entrada e precisa seguir o esquema da API Anthropic Claude |
- A tabela de entrada pode ter outras colunas, que são ignoradas pelo job em lote.
- Os jobs de previsão em lote reservam dois nomes de coluna para a saída da previsão em lote:
response(JSON)
estatus
. Não use essas colunas na tabela de entrada.
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 do Claude usando entradas do BigQuery ou do Cloud Storage. É possível escolher de forma independente gerar previsões para uma tabela do BigQuery ou 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.
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.
REST
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 do Anthropic Claude selecionado (consulte Regiões do Claude).
- PROJECT_ID: o ID do projeto.
- MODEL: o nome do modelo.
- INPUT_URI: a tabela do BigQuery em que a entrada de previsão em lote está localizada, como
bq://myproject.mydataset.input_table
. - OUTPUT_FORMAT: para gerar uma 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
. No 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
. 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/anthropic/models/MODEL", "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.
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.
REST
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 do Anthropic Claude selecionado (consulte Regiões do Claude).
- PROJECT_ID: o ID do projeto.
- MODEL: o nome do modelo.
- INPUT_URIS: uma lista separada por vírgulas dos locais do 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 saída 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
. Para o Cloud Storage, especifiqueoutputUriPrefix
. - OUTPUT_URI: para o BigQuery, especifique o local da tabela, como
bq://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/anthropic/models/MODEL", "inputConfig": { "instancesFormat":"jsonl", "gcsSource":{ "uris" : "INPUT_URIS" } }, "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.
Ver o status de um job de previsão em lote
Confira o status do seu job de previsão em lote para verificar se ele foi concluído com sucesso.
REST
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 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 a saída da previsão em lote
Quando um job de predição em lote for concluído, recupere a saída do local especificado. No BigQuery, a saída fica 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.
Você pode acessar os resultados completos da previsão em lote depois que todas as linhas forem concluídas ou após 24 horas, o que ocorrer primeiro.