Envie um lote de solicitações com a API OpenAI Batch - Amazon Bedrock

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á.

Envie um lote de solicitações com a API OpenAI Batch

Você pode executar um trabalho de inferência em lote usando a API OpenAI Create batch com modelos Amazon BedrockOpenAI.

Você pode chamar a API OpenAI Create batch das seguintes formas:

  • Faça uma solicitação HTTP com um endpoint Amazon Bedrock Runtime.

  • Use uma solicitação de OpenAI SDK com um endpoint Amazon Bedrock Runtime.

Selecione um tópico para saber mais:

Modelos e regiões compatíveis com a API OpenAI em lote

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 obter mais informações sobre modelos e regiões compatíveis, consulteModelos de base compatíveis no Amazon Bedrock.

Pré-requisitos para usar a API em lote OpenAI

Para ver os pré-requisitos para usar as operações de API OpenAI em lote, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK
HTTP request

Criar um trabalho OpenAI em lotes

Para obter detalhes sobre a API OpenAI Create batch, consulte os seguintes recursos na OpenAI documentação:

  • Criar lote — detalha a solicitação e a resposta.

  • O objeto de saída da solicitação — detalha os campos da saída gerada do trabalho em lotes. Consulte esta documentação ao interpretar os resultados em seu bucket do S3.

Formular a solicitação

Ao formar 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:
  • endpoint — Deve serv1/chat/completions.

  • input_file_id — Especifique o URI S3 do seu arquivo JSONL em lote.

Encontre os resultados gerados

A resposta de criação inclui uma ID de lote. Os resultados e o registro 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 da ID do lote, como na seguinte estrutura de pastas:

---- {batch_input_folder} |---- {batch_input}.jsonl |---- {batch_id} |---- {batch_input}.jsonl.out |---- {batch_input}.jsonl.err

Para ver exemplos de uso da API OpenAI Create batch com métodos diferentes, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)

Para criar um trabalho em lotes com o OpenAI SDK, faça o seguinte:

  1. Importe o OpenAI SDK e configure o cliente com os seguintes campos:

    • base_url— Prefixe o endpoint do Amazon Bedrock Runtime para/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 valores-chave nesse objeto. Como alternativa, você pode especificar cabeçalhos no extra_headers ao fazer uma chamada de API específica.

  2. Use o método batches.create () com o cliente.

Antes de executar o exemplo a seguir, substitua os espaços reservados nos seguintes campos:

  • 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 em 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 uma conclusão de bate-papo com uma solicitação HTTP direta, faça o seguinte:

  1. Use o método POST 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
  2. Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization

Antes de executar o exemplo a seguir, primeiro 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 de conclusão de bate-papo Create 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 OpenAI lotes

Para obter detalhes sobre a solicitação e a resposta da API OpenAI Retrieve batch, consulte Retrieve batch.

Ao fazer a solicitação, você especifica a ID do trabalho em lotes para o qual obter informações. A resposta retorna informações sobre um trabalho em lotes, incluindo os nomes dos arquivos de saída e de erro que você pode pesquisar nos buckets do S3.

Para ver exemplos de uso da API OpenAI Retrieve batch com métodos diferentes, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)

Para recuperar um trabalho em lotes com o OpenAI SDK, faça o seguinte:

  1. Importe o OpenAI SDK e configure o cliente com os seguintes campos:

    • base_url— Prefixe o endpoint do Amazon Bedrock Runtime para/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 valores-chave nesse objeto. Como alternativa, você pode especificar cabeçalhos no extra_headers ao fazer uma chamada de API específica.

  2. Use o método batches.retrieve () com o cliente e especifique a 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 seguintes campos:

  • api_key — Substitua pela sua chave $AWS_BEARER_TOKEN_BEDROCK de API real.

  • batch_id — Substitua pela sua $AWS_BEARER_TOKEN_BEDROCK chave de API real.

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 lotes com uma solicitação HTTP direta, faça o seguinte:

  1. 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
  2. Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization

Antes de executar o exemplo a seguir, primeiro 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 pela ID real do seu trabalho em lotes.

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 OpenAI em lote

Para obter detalhes sobre a solicitação e a resposta da API OpenAI List batches, consulte List batches. A resposta retorna uma série de informações sobre seus trabalhos em lotes.

Ao fazer a solicitação, você pode incluir parâmetros de consulta para filtrar os resultados. A resposta retorna informações sobre um trabalho em lotes, incluindo os nomes dos arquivos de saída e de erro que você pode pesquisar nos buckets do S3.

Para ver exemplos de uso da API OpenAI List batches com métodos diferentes, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)

Para listar trabalhos em lote com o OpenAI SDK, faça o seguinte:

  1. Importe o OpenAI SDK e configure o cliente com os seguintes campos:

    • base_url— Prefixe o endpoint do Amazon Bedrock Runtime para/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 valores-chave nesse objeto. Como alternativa, você pode especificar cabeçalhos no extra_headers ao fazer uma chamada de API específica.

  2. Use o método batches.list () com o cliente. Você pode incluir qualquer um dos parâmetros opcionais.

Antes de executar o exemplo a seguir, substitua os espaços reservados nos seguintes campos:

  • api_key — Substitua pela sua chave $AWS_BEARER_TOKEN_BEDROCK de API real.

O exemplo chama a API OpenAI List batch jobs us-west-2 e especifica um limite de 2 resultados a serem retornados.

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 lotes com uma solicitação HTTP direta, faça o seguinte:

  1. 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.

  2. Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization

Antes de executar o exemplo a seguir, primeiro substitua os espaços reservados nos seguintes campos:

  • Autorização — $AWS_BEARER_TOKEN_BEDROCK Substitua pela sua chave de API real.

O exemplo a seguir chama a API OpenAI List batches us-west-2 e especifica um limite de 2 resultados a serem retornados.

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 OpenAI em lotes

Para obter detalhes sobre a solicitação e a resposta da API OpenAI Cancelar lote, consulte Cancelar lote. A resposta retorna informações sobre o trabalho em lotes cancelado.

Ao fazer a solicitação, você especifica a ID do trabalho em lotes que deseja cancelar.

Para ver exemplos de uso da API OpenAI Cancel batch com métodos diferentes, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)

Para cancelar um trabalho em lotes com o OpenAI SDK, faça o seguinte:

  1. Importe o OpenAI SDK e configure o cliente com os seguintes campos:

    • base_url— Prefixe o endpoint do Amazon Bedrock Runtime para/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 valores-chave nesse objeto. Como alternativa, você pode especificar cabeçalhos no extra_headers ao fazer uma chamada de API específica.

  2. Use o método batches.cancel () com o cliente e especifique a 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 seguintes campos:

  • api_key — Substitua pela sua chave $AWS_BEARER_TOKEN_BEDROCK de API real.

  • batch_id — Substitua pela sua $AWS_BEARER_TOKEN_BEDROCK chave de API real.

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 lotes com uma solicitação HTTP direta, faça o seguinte:

  1. Use o método POST e especifique a 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
  2. Especifique suas AWS credenciais ou uma chave de API do Amazon Bedrock no cabeçalho. Authorization

Antes de executar o exemplo a seguir, primeiro 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 pela ID real do seu trabalho em lotes.

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'