翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
OpenAI Chat Completions API を使用してモデルを呼び出す
Amazon Bedrock モデルでOpenAIチャット完了の作成 API を使用してモデル推論を実行できます。
チャット完了の作成 API は、次の方法で呼び出すことができます。
詳細については、トピックを選択してください。
OpenAI Chat Completions API でサポートされているモデルとリージョン
Create chat completion API は、Amazon Bedrock およびこれらのOpenAIモデルをサポートする AWS リージョンでサポートされているすべてのモデルで使用できます。サポートされているモデルとリージョンの詳細については、「」を参照してくださいAmazon Bedrock でサポートされている基盤モデル。
Chat Completions API を使用するための前提条件
Chat Completions API を使用するための前提条件を確認するには、任意の方法のタブを選択し、ステップに従います。
- OpenAI SDK
-
- HTTP request
-
チャット完了を作成する
Create chat completion API の詳細については、 OpenAIドキュメントの以下のリソースを参照してください。
Amazon Bedrock は現在、他のOpenAIチャット完了 API オペレーションをサポートしていません。
Create chat completion API OpenAI の使用方法を確認するには、任意の方法のタブを選択し、ステップに従います。
- OpenAI SDK (Python)
-
OpenAI SDK でチャット完了を作成するには、次の手順を実行します。
-
OpenAI SDK をインポートし、次のフィールドを使用してクライアントを設定します。
-
base_url
– 次の形式のように/openai/v1
、Amazon Bedrock ランタイムエンドポイントのプレフィックスを に設定します。
https://${bedrock-runtime-endpoint}
/openai/v1
-
api_key
– Amazon Bedrock API キーを指定します。
-
default_headers
– ヘッダーを含める必要がある場合は、キーと値のペアとしてこのオブジェクトに含めることができます。または、特定の API コールを行うextra_headers
ときに でヘッダーを指定することもできます。
-
クライアントで chat.completions.create()
メソッドを使用し、リクエスト本文messages
で少なくとも model
と を指定します。
次の例では、 でチャット完了の作成 API を呼び出しますus-west-2
。$AWS_BEARER_TOKEN_BEDROCK
を実際の API キーに置き換えます。
from openai import OpenAI
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # Replace with actual API key
)
completion = client.chat.completions.create(
model="openai.gpt-oss-20b-1:0",
messages=[
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
)
print(completion.choices[0].message)
- HTTP request
-
直接 HTTTP リクエストを使用してチャット完了を作成するには、次の手順を実行します。
-
次の形式で、Amazon Bedrock ランタイムエンドポイントのプレフィックスを に設定して /openai/v1/chat/completions
URL を指定します。
https://${bedrock-runtime-endpoint}
/openai/v1/chat/completions
-
Authorization
ヘッダーで AWS 認証情報または Amazon Bedrock API キーを指定します。
-
リクエスト本文で、リクエスト本文messages
に少なくとも model
と を指定します。
次の例では、curl を使用して でチャット完了の作成 API を呼び出しますus-west-2
。$AWS_BEARER_TOKEN_BEDROCK
を実際の API キーに置き換えます。
curl -X POST https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
-d '{
"model": "openai.gpt-oss-20b-1:0",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
チャットの完了にガードレールを含める
モデルの入力とレスポンスに保護を含めるには、次の追加のパラメータをリクエスト本文のフィールドとして含めて、モデル呼び出しを実行するときにガードレールを適用します。
Amazon Bedrock ガードレールのこれらのパラメータの詳細については、「」を参照してくださいガードレールをテストする。
OpenAI チャットの完了時にガードレールを使用する例を確認するには、任意の方法のタブを選択し、ステップに従います。
- 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);