As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Enviar um lote de prompts com a API Batch da OpenAI
É possível executar um trabalho de inferência em lote usando a API Create batch da OpenAI com modelos da OpenAI do Amazon Bedrock.
Você pode chamar a API Create batch da OpenAI das seguintes maneiras:
Escolha um tópico para saber mais:
Modelos e regiões compatíveis para a API Batch da OpenAI
Você pode usar a API OpenAI Create batch com todos os OpenAI modelos compatíveis com o Amazon Bedrock e nas AWS regiões que oferecem suporte a esses modelos. Para ter mais informações sobre modelos e regiões compatíveis, consulte Modelos de base compatíveis no Amazon Bedrock.
Pré-requisitos para usar a API Batch da OpenAI
Para ver os pré-requisitos para usar as operações da API Batch da OpenAI, escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK
-
-
Autenticação: o SDK da OpenAI só permite autenticação com uma chave de API do Amazon Bedrock. Gere uma chave de API do Amazon Bedrock para autenticar sua solicitação. Para saber mais sobre as chaves de API do Amazon Bedrock e como gerá-las, consulte a seção Chaves de API no capítulo Build.
-
Endpoint — Encontre o endpoint que corresponde à AWS região a ser usada nos endpoints e cotas do Amazon Bedrock Runtime. Se você usa um AWS SDK, talvez precise especificar apenas o código da região e não o endpoint inteiro ao configurar o cliente.
-
Acesso ao modelo: solicite acesso a um modelo do Amazon Bedrock que comporte esse recurso. Para obter mais informações, consulte Gerencie o acesso ao modelo usando SDK e CLI.
-
Instalar um SDK da OpenAI: para ter mais informações, consulte Libraries na documentação da OpenAI.
-
Arquivo JSONL em lote carregado no S3: siga as etapas em Prepare your batch file na documentação da OpenAI para preparar seu arquivo em lote com o formato correto. Em seguida, faça upload dele em um bucket do Amazon S3.
-
Permissões do IAM: verifique se você tem as seguintes identidades do IAM com as permissões adequadas:
- HTTP request
-
-
Autenticação — Você pode se autenticar com suas AWS credenciais ou com uma chave de API Amazon Bedrock.
Configure suas AWS credenciais ou gere uma chave de API Amazon Bedrock para autenticar sua solicitação.
-
Endpoint — Encontre o endpoint que corresponde à AWS região a ser usada nos endpoints e cotas do Amazon Bedrock Runtime. Se você usa um AWS SDK, talvez precise especificar apenas o código da região e não o endpoint inteiro ao configurar o cliente.
-
Acesso ao modelo: solicite acesso a um modelo do Amazon Bedrock que comporte esse recurso. Para obter mais informações, consulte Gerencie o acesso ao modelo usando SDK e CLI.
-
Arquivo JSONL em lote carregado no S3: siga as etapas em Prepare your batch file na documentação da OpenAI para preparar seu arquivo em lote com o formato correto. Em seguida, faça upload dele em um bucket do Amazon S3.
-
Permissões do IAM: verifique se você tem as seguintes identidades do IAM com as permissões adequadas:
Criar um trabalho em lote da OpenAI
Para ver detalhes da API Create batch da OpenAI, consulte os seguintes recursos na documentação da OpenAI:
-
Create batch: detalha a solicitação e a resposta.
-
The request output object: detalha os campos da saída gerada do trabalho em lote. Consulte essa documentação ao interpretar os resultados em seu bucket do S3.
Formular a solicitação
Ao formular a solicitação de inferência em lote, observe os seguintes campos e valores específicos do Amazon Bedrock:
Cabeçalhos de solicitação
Parâmetros do corpo da solicitação:
Encontrar os resultados gerados
A resposta da criação inclui um ID de lote. Os resultados e o registro em log de erros do trabalho de inferência em lote são gravados na pasta do S3 que contém o arquivo de entrada. Os resultados estarão em uma pasta com o mesmo nome do ID do lote, como na estrutura de pasta a seguir:
---- {batch_input_folder}
|---- {batch_input}.jsonl
|---- {batch_id}
|---- {batch_input}.jsonl.out
|---- {batch_input}.jsonl.err
Para ver exemplos de uso da API Create batch da OpenAI com métodos diferentes, escolha a guia referente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Para criar um trabalho em lote com o SDK da OpenAI, faça o seguinte:
-
Importe o SDK da OpenAI e configure o cliente com os seguintes campos:
-
base_url: prefixe o endpoint do Amazon Bedrock Runtime como /openai/v1, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique uma chave de API do Amazon Bedrock.
-
default_headers: se precisar incluir algum cabeçalho, você pode incluí-lo como pares de chave-valor nesse objeto. Ou você pode especificar cabeçalhos em extra_headers ao fazer uma chamada de API específica.
-
Use o método batches.create() com o cliente.
Antes de executar o exemplo a seguir, substitua os espaços reservados nos campos a seguir:
-
api_key — Substitua pela sua chave $AWS_BEARER_TOKEN_BEDROCK de API real.
-
X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole Substitua pela função real do serviço de inferência em lote que você configurou.
-
input_file_id — s3://amzn-s3-demo-bucket/openai-input.jsonl Substitua pelo URI real do S3 para o qual você carregou seu arquivo JSONL em lote.
O exemplo chama a API OpenAI Create batch job na us-west-2 e inclui uma parte dos metadados.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK", # Replace with actual API key
default_headers={
"X-Amzn-Bedrock-RoleArn": "arn:aws:iam::123456789012:role/BatchServiceRole" # Replace with actual service role ARN
}
)
job = client.batches.create(
input_file_id="s3://amzn-s3-demo-bucket/openai-input.jsonl", # Replace with actual S3 URI
endpoint="/v1/chat/completions",
completion_window="24h",
metadata={
"description": "test input"
},
extra_headers={
"X-Amzn-Bedrock-ModelId": "openai.gpt-oss-20b-1:0",
}
)
print(job)
- HTTP request
-
Para criar um preenchimento de chat com uma solicitação HTTP, faça o seguinte:
-
Use o método POST e o URL prefixando o endpoint do Amazon Bedrock Runtime como /openai/v1/batches, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches
-
Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization
Antes de executar o exemplo abaixo, substitua os espaços reservados nos seguintes campos:
-
Autorização — $AWS_BEARER_TOKEN_BEDROCK Substitua pela sua chave de API real.
-
X-Amzn-BedrockRoleArn — arn:aws:iam::123456789012:role/BatchServiceRole Substitua pela função real do serviço de inferência em lote que você configurou.
-
input_file_id — s3://amzn-s3-demo-bucket/openai-input.jsonl Substitua pelo URI real do S3 para o qual você carregou seu arquivo JSONL em lote.
O exemplo a seguir chama a API Create chat completion na us-west-2 e inclui uma parte dos metadados:
curl -X POST 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK' \
-H 'Content-Type: application/json' \
-H 'X-Amzn-Bedrock-ModelId: openai.gpt-oss-20b-1:0' \
-H 'X-Amzn-Bedrock-RoleArn: arn:aws:iam::123456789012:role/BatchServiceRole' \
-d '{
"input_file_id": "s3://amzn-s3-demo-bucket/openai-input.jsonl",
"endpoint": "/v1/chat/completions",
"completion_window": "24h",
"metadata": {"description": "test input"}
}'
Recuperar um trabalho em lote da OpenAI
Para ver detalhes da solicitação e da resposta da API Retrieve batch da OpenAI, consulte Retrieve batch.
Ao fazer a solicitação, você especifica o ID do trabalho em lote para o qual deseja obter informações. A resposta exibe informações sobre um trabalho em lote, como o nome dos arquivos de saída e de erro, que podem ser pesquisados nos buckets do S3.
Para ver exemplos de uso da API Retrieve batch da OpenAI com métodos diferentes, escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Para recuperar um trabalho em lote com o SDK da OpenAI, faça o seguinte:
-
Importe o SDK da OpenAI e configure o cliente com os seguintes campos:
-
base_url: prefixe o endpoint do Amazon Bedrock Runtime como /openai/v1, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique uma chave de API do Amazon Bedrock.
-
default_headers: se precisar incluir algum cabeçalho, você pode incluí-lo como pares de chave-valor nesse objeto. Ou você pode especificar cabeçalhos em extra_headers ao fazer uma chamada de API específica.
-
Use o método batches.retrieve() com o cliente e especifique o ID do lote para o qual as informações serão recuperadas.
Antes de executar o exemplo a seguir, substitua os espaços reservados nos campos a seguir:
O exemplo chama a API OpenAI Retrieve batch job us-west-2 em um trabalho em lote cujo ID ébatch_abc123.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.retrieve(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
Para recuperar um trabalho em lote com uma solicitação HTTP direta, faça o seguinte:
-
Use o método GET e especifique a URL prefixando o endpoint do Amazon Bedrock Runtime como /openai/v1/batches/${batch_id}, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123
-
Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization
Antes de executar o exemplo abaixo, substitua os espaços reservados nos seguintes campos:
-
Autorização — $AWS_BEARER_TOKEN_BEDROCK Substitua pela sua chave de API real.
-
batch_abc123: no caminho, substitua esse valor pelo ID real do trabalho em lote.
O exemplo a seguir chama a API OpenAI Retrieve batch em um trabalho us-west-2 em lotes cujo ID ébatch_abc123.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Listar trabalhos em lote da OpenAI
Para ver detalhes da solicitação e da resposta da API List batches da OpenAI, consulte List batches. A resposta exibe uma série de informações sobre seus trabalhos em lote.
Ao fazer a solicitação, você pode incluir parâmetros de consulta para filtrar os resultados. A resposta exibe informações sobre um trabalho em lote, como o nome dos arquivos de saída e de erro, que podem ser pesquisados nos buckets do S3.
Para ver exemplos de uso da API List batches da OpenAI com métodos diferentes, escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Para listar trabalhos em lote com o SDK da OpenAI, faça o seguinte:
-
Importe o SDK da OpenAI e configure o cliente com os seguintes campos:
-
base_url: prefixe o endpoint do Amazon Bedrock Runtime como /openai/v1, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique uma chave de API do Amazon Bedrock.
-
default_headers: se precisar incluir algum cabeçalho, você pode incluí-lo como pares de chave-valor nesse objeto. Ou você pode especificar cabeçalhos em extra_headers ao fazer uma chamada de API específica.
-
Use o método batches.list() com o cliente. É possível incluir qualquer um dos parâmetros opcionais.
Antes de executar o exemplo a seguir, substitua os espaços reservados nos campos a seguir:
O exemplo chama a API List batch da OpenAI na us-west-2 e especifica o limite de dois resultados a serem exibidos.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.retrieve(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
Para listar trabalhos em lote com uma solicitação HTTP direta, faça o seguinte:
-
Use o método GET e especifique a URL prefixando o endpoint do Amazon Bedrock Runtime como /openai/v1/batches, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches
Você pode incluir qualquer um dos parâmetros de consulta opcionais.
-
Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization
Antes de executar o exemplo abaixo, substitua os espaços reservados nos seguintes campos:
O exemplo a seguir chama a API List batch da OpenAI na us-west-2 e especifica o limite de dois resultados a serem exibidos.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'
Cancelar um trabalho em lote da OpenAI
Para ver detalhes da solicitação e da resposta da API Cancel batch da OpenAI, consulte Cancel batch. A resposta exibe informações sobre o trabalho em lote cancelado.
Ao fazer a solicitação, você especifica o ID do trabalho em lote que deseja cancelar.
Para ver exemplos de uso da API Cancel batch da OpenAI com métodos diferentes, escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Para cancelar um trabalho em lote com o SDK da OpenAI, faça o seguinte:
-
Importe o SDK da OpenAI e configure o cliente com os seguintes campos:
-
base_url: prefixe o endpoint do Amazon Bedrock Runtime como /openai/v1, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1
-
api_key: especifique uma chave de API do Amazon Bedrock.
-
default_headers: se precisar incluir algum cabeçalho, você pode incluí-lo como pares de chave-valor nesse objeto. Ou você pode especificar cabeçalhos em extra_headers ao fazer uma chamada de API específica.
-
Use o método batches.cancel() com o cliente e especifique o ID do lote para o qual as informações serão recuperadas.
Antes de executar o exemplo a seguir, substitua os espaços reservados nos campos a seguir:
O exemplo chama a API de OpenAI cancelamento de trabalhos em lotes us-west-2 em um trabalho em lotes cujo ID ébatch_abc123.
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
job = client.batches.cancel(batch_id="batch_abc123") # Replace with actual ID
print(job)
- HTTP request
-
Para cancelar um trabalho em lote com uma solicitação HTTP direta, faça o seguinte:
-
Use o método POST e o URL prefixando o endpoint do Amazon Bedrock Runtime como /openai/v1/batches/${batch_id}/cancel, conforme o seguinte formato:
https://${bedrock-runtime-endpoint}/openai/v1/batches/batch_abc123/cancel
-
Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization
Antes de executar o exemplo abaixo, substitua os espaços reservados nos seguintes campos:
-
Autorização — $AWS_BEARER_TOKEN_BEDROCK Substitua pela sua chave de API real.
-
batch_abc123: no caminho, substitua esse valor pelo ID real do trabalho em lote.
O exemplo a seguir chama a API OpenAI Cancel batch us-west-2 em um trabalho em lotes cujo ID ébatch_abc123.
curl -X GET 'https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/batches/batch_abc123/cancel' \
-H 'Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK'