Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
API Penyelesaian Obrolan di titik akhir landrock-mantle
API Pen OpenAI yelesaian Obrolan menghasilkan respons percakapan menggunakan model Amazon Bedrock. Untuk aplikasi baru, kami merekomendasikan titik bedrock-runtime akhir (lihatAPI Penyelesaian Obrolan (referensi lama)). Halaman ini mendokumentasikan API pada bedrock-mantle titik akhir, yang juga didukung penuh. Untuk detail API lengkap, lihat dokumentasi Penyel OpenAI esaian Obrolan.
| Titik akhir |
URL Dasar |
Autentikasi |
bedrock-mantle (direkomendasikan) |
https://bedrock-mantle.{region}.api.aws/v1/chat/completions |
Kunci atau AWS kredensional API Amazon Bedrock |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/v1/chat/completions |
AWS kredenSIAL (SIGv4) atau kunci API Amazon Bedrock |
Setiap titik akhir memiliki kuota token per model sendiri. Untuk detail tentang kuota yang diterapkan pada lalu lintas di setiap titik akhir, lihat Kuota untuk titik akhir mantel dasar danKuota untuk titik akhir runtime dasar.
Penyelesaian Obrolan dengan titik akhir mantel landasan
T bedrock-mantle itik akhir mendukung otentikasi kunci API Amazon Bedrock dan OpenAI SDK.
Daftar model yang tersedia
Untuk membuat daftar model yang tersedia di bedrock-mantle titik akhir, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- 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"
Buat penyelesaian obrolan
Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- OpenAI SDK (Python)
-
Konfigurasikan OpenAI klien menggunakan variabel lingkungan:
# 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
-
Buat permintaan POST ke/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
Untuk menerima tanggapan secara bertahap, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- 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
-
Buat permintaan POST /v1/chat/completions dengan diset stream el ketrue:
# 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
}'
Penyelesaian Obrolan dengan titik akhir runtime dasar
Titik bedrock-runtime akhir mendukung otentikasi AWS SIGv4 dan otentikasi kunci API Amazon Bedrock.
Daftar model yang tersedia
Untuk membuat daftar model yang tersedia di bedrock-runtime titik akhir, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- 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"
Buat penyelesaian obrolan
Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- OpenAI SDK (Python)
-
Konfigurasikan OpenAI klien untuk menunjuk ke titik bedrock-runtime akhir:
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"}]
}'
Untuk detail selengkapnya tentang model yang didukung, Wilayah, dan fitur lanjutan dengan bedrock-runtime titik akhir, lihatAPI Penyelesaian Obrolan (referensi lama).
Sertakan pagar pembatas dalam penyelesaian obrolan
Untuk memasukkan perlindungan dalam input dan respons model, terapkan pagar pembatas saat menjalankan pemanggilan model dengan menyertakan parameter tambahan berikut sebagai bidang dalam badan permintaan:
-
extra_headers— Memetakan ke objek yang berisi bidang berikut, yang menentukan header tambahan dalam permintaan:
-
X-Amzn-Bedrock-GuardrailIdentifier(wajib) - ID pagar pembatas.
-
X-Amzn-Bedrock-GuardrailVersion(wajib) - Versi pagar pembatas.
-
X-Amzn-Bedrock-Trace(opsional) — Apakah akan mengaktifkan pelacakan pagar pembatas atau tidak.
-
extra_body— Memetakan ke objek. Dalam objek itu, Anda dapat menyertakan amazon-bedrock-guardrailConfig bidang, yang dipetakan ke objek yang berisi bidang berikut:
Untuk informasi lebih lanjut tentang parameter ini di Amazon Bedrock Guardrails, lihat. Uji pagar pembatas Anda
Untuk melihat contoh penggunaan pagar pembatas dengan penyeles OpenAI aian obrolan, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:
- 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);