View a markdown version of this page

API Penyelesaian Obrolan di titik akhir landrock-mantle - Amazon Bedrock

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:

    • tagSuffix(opsional) — Sertakan bidang ini untuk penand aan masukan.

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);