Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Inferensi menggunakan API Penyelesaian Obrolan
API Penyelesaian OpenAI Obrolan menghasilkan respons percakapan menggunakan model Amazon Bedrock. Anda dapat menggunakan API Penyelesaian Obrolan di kedua titik bedrock-runtime akhir bedrock-mantle dan titik akhir. Sebaiknya gunakan bedrock-mantle endpoint bila memungkinkan. Untuk detail API selengkapnya, lihat dokumentasi Penyelesaian OpenAI Obrolan.
| Titik akhir |
URL dasar |
Autentikasi |
bedrock-mantle (direkomendasikan) |
https://bedrock-mantle.{region}.api.aws/v1/chat/completions |
Kunci atau AWS kredensi Amazon Bedrock API |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/v1/chat/completions |
AWS kredensi (SiGv4) atau kunci Amazon Bedrock API |
Penyelesaian Obrolan dengan titik akhir mantel dasar
bedrock-mantleTitik akhir mendukung otentikasi kunci Amazon Bedrock API dan SDK. OpenAI
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 untuk/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 stream set 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 endpoint bedrock-runtime
bedrock-runtimeTitik akhir mendukung otentikasi AWS SiGv4 dan otentikasi kunci Amazon Bedrock API.
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 bedrock-runtime titik 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, Wilayah, dan fitur lanjutan yang didukung dengan bedrock-runtime titik akhir, lihatAPI Penyelesaian Obrolan (referensi lama).
Sertakan pagar pembatas dalam penyelesaian obrolan
Untuk menyertakan perlindungan dalam input dan respons model, terapkan pagar pembatas saat menjalankan pemanggilan model dengan menyertakan parameter tambahan berikut sebagai bidang di badan permintaan:
-
extra_headers— Peta 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 jejak pagar pembatas atau tidak.
-
extra_body— Peta ke suatu objek. Dalam objek itu, Anda dapat menyertakan amazon-bedrock-guardrailConfig bidang, yang memetakan ke objek yang berisi bidang berikut:
Untuk informasi selengkapnya tentang parameter ini di Amazon Bedrock Guardrails, lihat. Uji pagar pembatas Anda
Untuk melihat contoh penggunaan pagar pembatas dengan penyelesaian OpenAI 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);