View a markdown version of this page

Inferência usando a API de respostas - 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á.

Inferência usando a API de respostas

O Amazon Bedrock fornece a API de OpenAI respostas por meio do bedrock-mantle endpoint, desenvolvida pelo Mantle, um mecanismo de inferência distribuído para o fornecimento de modelos de aprendizado de máquina em grande escala. Esse endpoint permite que você use OpenAI SDKs e ferramentas familiares com os modelos Amazon Bedrock, permitindo que você migre aplicativos existentes com o mínimo de alterações de código — basta atualizar sua URL base e chave de API.

Importante

Ao usar o OpenAI SDK com o Amazon Bedrock, você deve apontá-lo para o endpoint do Amazon Bedrock, não para o endpoint. OpenAI Defina as seguintes variáveis de ambiente:

OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1" OPENAI_API_KEY="<your Bedrock API key>"

Não use sua chave de OpenAI API ou o URL OpenAI base (https://api.openai.com/v1). Eles se conectam OpenAI diretamente, não ao Amazon Bedrock. Para criar uma chave de API do Amazon Bedrock, consulteChaves de API.

Os benefícios importantes incluem:

  • Inferência assíncrona — Support para cargas de trabalho de inferência de longa duração por meio da API de respostas

  • Gerenciamento de conversas com estado — reconstrua automaticamente o contexto sem passar manualmente o histórico de conversas com cada solicitação

  • Uso simplificado de ferramentas — integração simplificada para fluxos de trabalho agentes

  • Modos de resposta flexíveis — Support para respostas de streaming e não streaming

  • Fácil migração — Compatível com as bases de código OpenAI SDK existentes

Regiões e endpoints compatíveis

O bedrock-mantle endpoint está disponível nas seguintes AWS regiões:

Nome da região Região Endpoint
Leste dos EUA (Ohio) us-east-2 bedrock-mantle.us-east-2.api.aws
Leste dos EUA (Norte da Virgínia) us-east-1 bedrock-mantle.us-east-1.api.aws
Oeste dos EUA (Oregon) us-west-2 bedrock-mantle.us-west-2.api.aws
Ásia-Pacífico (Jacarta) ap-southeast-3 bedrock-mantle.ap-southeast-3.api.aws
Ásia-Pacífico (Mumbai) ap-south-1 bedrock-mantle.ap-south-1.api.aws
Ásia-Pacífico (Sydney) ap-southeast-2 bedrock-mantle.ap-southeast-2.api.aws
Ásia-Pacífico (Tóquio) ap-northeast-1 bedrock-mantle.ap-northeast-1.api.aws
Europa (Frankfurt) eu-central-1 bedrock-mantle.eu-central-1.api.aws
Europa (Irlanda) eu-west-1 bedrock-mantle.eu-west-1.api.aws
Europa (Londres) eu-west-2 bedrock-mantle.eu-west-2.api.aws
Europa (Milão) eu-south-1 bedrock-mantle.eu-south-1.api.aws
Europa (Estocolmo) eu-north-1 bedrock-mantle.eu-north-1.api.aws
América do Sul (São Paulo) sa-east-1 bedrock-mantle.sa-east-1.api.aws

Pré-requisitos

Antes de usar OpenAI APIs, verifique se você tem o seguinte:

  • Autenticação — Você pode se autenticar usando:

    • Chave de API Amazon Bedrock (necessária para o OpenAI SDK)

    • AWS credenciais (com suporte para solicitações HTTP)

  • OpenAISDK (opcional) — Instale o SDK do OpenAI Python se estiver usando solicitações. SDK-based

  • Variáveis de ambiente — Defina as seguintes variáveis de ambiente:

    • OPENAI_API_KEY— Defina sua chave de API Amazon Bedrock

    • OPENAI_BASE_URL— Defina como o endpoint Amazon Bedrock da sua região (por exemplo,) https://bedrock-mantle.us-east-1.api.aws/v1

API de modelos

A API de modelos permite que você descubra modelos disponíveis no Amazon Bedrock com tecnologia Mantle. Use essa API para recuperar uma lista de modelos que você pode usar com a API de respostas. Para obter detalhes completos da API, consulte a documentação dos OpenAI modelos.

Listar modelos disponíveis

Para listar os modelos disponíveis, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)
# List all available models using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() models = client.models.list() for model in models.data: print(model.id)
HTTP request

Faça uma solicitação GET para/v1/models:

# List all available models # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

API de respostas

A API de respostas fornece gerenciamento de conversas com estado, com suporte para streaming, processamento em segundo plano e interações em vários turnos. Para obter detalhes completos da API, consulte a documentação de OpenAI respostas.

nota

Nem todos os modelos são compatíveis com a API de respostas. Para ver quais modelos são compatíveis com a API de respostas, consulteCompatibilidade de API.

Como a API de respostas armazena o estado da conversa

A API de respostas pode usar o estado armazenado para permitir conversas em vários turnos e permitir que você faça referência a turnos anteriores por meio do previous_response_id parâmetro. O armazenamento é ativado por padrão, mas pode ser desativado por solicitação por meio do store parâmetro. As respostas armazenadas são definidas por projeto. Uma resposta de um projeto não pode ser usada como resposta anterior nem lida em um segundo projeto. Para obter mais informações sobre projetos, consulteProjetos (OpenAI-compatible).

  • Quando store for true (o padrão), o Amazon Bedrock retém a resposta, incluindo a entrada e a saída, por 30 dias na região de origem da solicitação. Durante essa janela, você pode encadear solicitações de acompanhamento transmitindo previous_response_id e recuperando a resposta comGET /v1/responses/{id}. Depois de 30 dias, a resposta é excluída automaticamente e não pode mais ser recuperada.

  • Quando isso store acontecefalse, o Amazon Bedrock não retém nenhum dado da solicitação ou resposta. O previous_response_id parâmetro não pode ser usado para continuar a conversa.

O valor padrão é corresponder true à especificação da API de OpenAI respostas. Clientes que não desejam que o Amazon Bedrock retenha dados de conversas devem store definir explicitamente false em cada solicitação. Os dados armazenados são mantidos na região de origem da solicitação, criptografados quando ociosos e têm como escopo o recurso de projeto da AWS conta chamadora. Os dados são armazenados exclusivamente para atender às suas solicitações e não são usados ou retidos para qualquer outra finalidade.

Solicitação básica

Para criar uma resposta, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)
# Create a basic response using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-oss-120b", input=[ {"role": "user", "content": "Hello! How can you help me today?"} ] ) print(response)
HTTP request

Faça uma solicitação POST para/v1/responses:

# Create a basic response # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Hello! How can you help me today?"} ] }'

Transmita respostas

Para receber eventos de resposta incrementalmente, escolha a guia do seu método preferido e siga as etapas:

OpenAI SDK (Python)
# Stream response events incrementally using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-oss-120b", input=[{"role": "user", "content": "Tell me a story"}], stream=True ) for event in stream: print(event)
HTTP request

Faça uma solicitação POST para /v1/responses com stream definido comotrue:

# Stream response events incrementally # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Tell me a story"} ], "stream": true }'