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 conclusão de bate-papo
A API OpenAI Chat Completions gera respostas conversacionais usando os modelos Amazon Bedrock. Você pode usar a API Chat Completions nos bedrock-runtime endpoints bedrock-mantle e nos endpoints. Recomendamos usar o bedrock-mantle endpoint sempre que possível. Para obter detalhes completos da API, consulte a documentação de conclusão de OpenAI bate-papo.
| Endpoint |
URL base |
Autenticação |
bedrock-mantle (recomendado) |
https://bedrock-mantle.{region}.api.aws/v1/chat/completions |
Chave ou AWS credenciais da API Amazon Bedrock |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/v1/chat/completions |
AWS credenciais (SigV4) ou chave de API Amazon Bedrock |
Conclusões de bate-papo com o endpoint Bedrock-mantle
O bedrock-mantle endpoint oferece suporte à autenticação de chave da API Amazon Bedrock e ao OpenAI SDK.
Listar modelos disponíveis
Para listar os modelos disponíveis no bedrock-mantle endpoint, 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
-
# 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"
Criar um preenchimento de chat
Escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Configure o OpenAI cliente usando variáveis de ambiente:
# Create a chat completion using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="openai.gpt-oss-120b",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message)
- HTTP request
-
Faça uma solicitação POST para/v1/chat/completions:
# Create a chat completion
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
curl -X POST $OPENAI_BASE_URL/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "openai.gpt-oss-120b",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
}'
Streaming
Para receber respostas incrementalmente, escolha a guia do seu método preferido e siga as etapas:
- OpenAI SDK (Python)
-
# Stream chat completion responses incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
stream = client.chat.completions.create(
model="openai.gpt-oss-120b",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
- HTTP request
-
Faça uma solicitação POST para /v1/chat/completions com stream definido comotrue:
# Stream chat completion responses incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
curl -X POST $OPENAI_BASE_URL/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "openai.gpt-oss-120b",
"messages": [
{"role": "user", "content": "Tell me a story"}
],
"stream": true
}'
Conclusões de bate-papo com o endpoint de tempo de execução básico
O bedrock-runtime endpoint oferece suporte à autenticação AWS SigV4 e à autenticação de chave de API Amazon Bedrock.
Listar modelos disponíveis
Para listar os modelos disponíveis no bedrock-runtime endpoint, escolha a guia do seu método preferido e siga as etapas:
- OpenAI SDK (Python)
-
from openai import OpenAI
import os
client = OpenAI(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/v1",
api_key=os.environ.get("AWS_BEARER_TOKEN_BEDROCK")
)
models = client.models.list()
for model in models.data:
print(model.id)
- HTTP request
-
curl -X GET "https://bedrock-runtime.us-east-1.amazonaws.com/v1/models" \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK"
Criar um preenchimento de chat
Escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
Configure o OpenAI cliente para apontar para o bedrock-runtime endpoint:
from openai import OpenAI
import os
client = OpenAI(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/v1",
api_key=os.environ.get("AWS_BEARER_TOKEN_BEDROCK")
)
response = client.chat.completions.create(
model="us.anthropic.claude-sonnet-4-6",
messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)
- HTTP request (API key)
-
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-d '{
"model": "us.anthropic.claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Hello"}]
}'
- HTTP request (SigV4)
-
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/v1/chat/completions" \
-H "Content-Type: application/json" \
--aws-sigv4 "aws:amz:us-east-1:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
-d '{
"model": "us.anthropic.claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Hello"}]
}'
Para obter mais detalhes sobre modelos, regiões e recursos avançados compatíveis com o bedrock-runtime endpoint, consulteAPI de conclusão de bate-papo (referência antiga).
Incluir uma barreira de proteção em um preenchimento de chat
Para incluir proteções na entrada e nas respostas do modelo, aplique uma barreira de proteção ao executar a invocação do modelo incluindo os seguintes parâmetros extras como campos no corpo da solicitação:
-
extra_headers: está associado a um objeto que conte´m os seguintes campos, que especificam cabeçalhos extras na solicitação:
-
X-Amzn-Bedrock-GuardrailIdentifier: (obrigatório) o ID da barreira de proteção.
-
X-Amzn-Bedrock-GuardrailVersion: (obrigatório) a versão da barreira de proteção.
-
X-Amzn-Bedrock-Trace: (opcional) se é necessário ou não habilitar o rastreamento da barreira de proteção.
-
extra_body: está associado a um objeto. Nesse objeto, você pode incluir o campo amazon-bedrock-guardrailConfig, que está associado a um objeto que contém os seguintes campos:
Para ter mais informações sobre esses parâmetros nas Barreiras de Proteção do Amazon Bedrock, consulte Testar uma barreira de proteção.
Para ver exemplos de uso de barreiras de proteção com preenchimentos de chat da OpenAI, escolha a guia correspondente ao método de sua preferência e siga as etapas:
- OpenAI SDK (Python)
-
import openai
from openai import OpenAIError
# Endpoint for Amazon Bedrock Runtime
bedrock_endpoint = "https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1"
# Model ID
model_id = "openai.gpt-oss-20b-1:0"
# Replace with actual values
bedrock_api_key = "$AWS_BEARER_TOKEN_BEDROCK"
guardrail_id = "GR12345"
guardrail_version = "DRAFT"
client = openai.OpenAI(
api_key=bedrock_api_key,
base_url=bedrock_endpoint,
)
try:
response = client.chat.completions.create(
model=model_id,
# Specify guardrail information in the header
extra_headers={
"X-Amzn-Bedrock-GuardrailIdentifier": guardrail_id,
"X-Amzn-Bedrock-GuardrailVersion": guardrail_version,
"X-Amzn-Bedrock-Trace": "ENABLED",
},
# Additional guardrail information can be specified in the body
extra_body={
"amazon-bedrock-guardrailConfig": {
"tagSuffix": "xyz" # Used for input tagging
}
},
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "assistant",
"content": "Hello! How can I help you today?"
},
{
"role": "user",
"content": "What is the weather like today?"
}
]
)
request_id = response._request_id
print(f"Request ID: {request_id}")
print(response)
except OpenAIError as e:
print(f"An error occurred: {e}")
if hasattr(e, 'response') and e.response is not None:
request_id = e.response.headers.get("x-request-id")
print(f"Request ID: {request_id}")
- OpenAI SDK (Java)
-
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.http.HttpResponseFor;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
// Endpoint for Amazon Bedrock Runtime
String bedrockEndpoint = "http://bedrock-runtime.us-west-2.amazonaws.com/openai/v1"
// Model ID
String modelId = "openai.gpt-oss-20b-1:0"
// Replace with actual values
String bedrockApiKey = "$AWS_BEARER_TOKEN_BEDROCK"
String guardrailId = "GR12345"
String guardrailVersion = "DRAFT"
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey(bedrockApiKey)
.baseUrl(bedrockEndpoint)
.build()
ChatCompletionCreateParams request = ChatCompletionCreateParams.builder()
.addUserMessage("What is the temperature in Seattle?")
.model(modelId)
// Specify additional headers for the guardrail
.putAdditionalHeader("X-Amzn-Bedrock-GuardrailIdentifier", guardrailId)
.putAdditionalHeader("X-Amzn-Bedrock-GuardrailVersion", guardrailVersion)
// Specify additional body parameters for the guardrail
.putAdditionalBodyProperty(
"amazon-bedrock-guardrailConfig",
JsonValue.from(Map.of("tagSuffix", JsonValue.of("xyz"))) // Allows input tagging
)
.build();
HttpResponseFor<ChatCompletion> rawChatCompletionResponse =
client.chat().completions().withRawResponse().create(request);
final ChatCompletion chatCompletion = rawChatCompletionResponse.parse();
System.out.println(chatCompletion);