OpenAI APIsを使用してレスポンスを生成する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OpenAI APIsを使用してレスポンスを生成する

Amazon Bedrock は、大規模な機械学習モデル提供用の分散推論エンジンである Mantle を搭載した、モデル推論用のOpenAI互換性のある API エンドポイントを提供します。これらのエンドポイントを使用すると、Amazon Bedrock モデルで使い慣れた OpenAI SDK とツールを使用できるため、既存のアプリケーションを最小限のコード変更で移行できます。基本 URL と API キーを更新するだけです。 SDKs

その他の主な利点には以下が含まれます:

  • 非同期推論 — Responses API による長時間実行される推論ワークロードのサポート

  • ステートフル会話管理 – 各リクエストで会話履歴を手動で渡すことなく、コンテキストを自動的に再構築します。

  • ツールの簡素化 – エージェントワークフローの統合を合理化

  • 柔軟なレスポンスモード – ストリーミングレスポンスと非ストリーミングレスポンスの両方のサポート

  • 簡単な移行 – 既存の OpenAI SDK コードベースと互換性があります

サポートされているリージョンとエンドポイント

Amazon Bedrock は、次のAWSリージョンで使用できます。

リージョン名 リージョン エンドポイント
米国東部 (オハイオ) us-east-2 bedrock-mantle.us-east-2.api.aws
米国東部 (バージニア北部) us-east-1 bedrock-mantle.us-east-1.api.aws
米国西部 (オレゴン) us-west-2 bedrock-mantle.us-west-2.api.aws
アジアパシフィック (ジャカルタ) ap-southeast-3 bedrock-mantle.ap-southeast-3.api.aws
アジアパシフィック (ムンバイ) ap-south-1 bedrock-mantle.ap-south-1.api.aws
アジアパシフィック (東京) ap-northeast-1 bedrock-mantle.ap-northeast-1.api.aws
欧州 (フランクフルト) eu-central-1 bedrock-mantle.eu-central-1.api.aws
欧州 (アイルランド) eu-west-1 bedrock-mantle.eu-west-1.api.aws
欧州 (ロンドン) eu-west-2 bedrock-mantle.eu-west-2.api.aws
欧州 (ミラノ) eu-south-1 bedrock-mantle.eu-south-1.api.aws
欧州 (ストックホルム) eu-north-1 bedrock-mantle.eu-north-1.api.aws
南米 (サンパウロ) sa-east-1 bedrock-mantle.sa-east-1.api.aws

前提条件

OpenAI APIs を使用する前に、以下があることを確認してください。

  • 認証 – 以下を使用して認証できます。

    • Amazon Bedrock API キー ( OpenAI SDK に必要)

    • AWS認証情報 (HTTP リクエストでサポート)

  • OpenAI SDK (オプション) – SDK OpenAI ベースのリクエストを使用している場合は、Python SDK をインストールします。

  • 環境変数 – 次の環境変数を設定します。

    • OPENAI_API_KEY – Amazon Bedrock API キーに設定する

    • OPENAI_BASE_URL – リージョンの Amazon Bedrock エンドポイントに設定します (例: https://bedrock-mantle.us-east-1.api.aws/v1)

モデル API

Models API を使用すると、Mantle を搭載した Amazon Bedrock で利用可能なモデルを検出できます。この API を使用して、 Responses API および Chat Completions API で使用できるモデルのリストを取得します。API の詳細については、OpenAI「 Models ドキュメント」を参照してください。

使用可能なモデルを一覧表示する

使用可能なモデルを一覧表示するには、任意の方法のタブを選択し、ステップに従います。

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

に GET リクエストを行います/v1/models

# 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"

レスポンス API

Responses API は、ストリーミング、バックグラウンド処理、マルチターンインタラクションをサポートするステートフルな会話管理を提供します。API の詳細については、OpenAI「レスポンスドキュメント」を参照してください。

基本リクエスト

レスポンスを作成するには、任意の方法のタブを選択し、ステップに従います。

OpenAI SDK (Python)
# Create a basic response using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-oss-120b", input=[ {"role": "user", "content": "Hello! How can you help me today?"} ] ) print(response)
HTTP request

に POST リクエストを行います/v1/responses

# Create a basic response # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Hello! How can you help me today?"} ] }'

ストリームレスポンス

レスポンスイベントを段階的に受信するには、任意の方法のタブを選択し、ステップに従います。

OpenAI SDK (Python)
# Stream response events incrementally using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-oss-120b", input=[{"role": "user", "content": "Tell me a story"}], stream=True ) for event in stream: print(event)
HTTP request

streamに設定/v1/responsesして、 に POST リクエストを行いますtrue

# Stream response events incrementally # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Tell me a story"} ], "stream": true }'

チャット完了 API

Chat Completions API は会話レスポンスを生成します。API の詳細については、OpenAIチャット完了ドキュメントを参照してください。

チャット完了を作成する

チャット完了を作成するには、任意の方法のタブを選択し、ステップに従います。

OpenAI SDK (Python)

環境変数を使用してOpenAIクライアントを設定します。

# 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

に POST リクエストを行います/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!"} ] }'

ストリーミングを有効にする

レスポンスを段階的に受信するには、任意の方法のタブを選択し、ステップに従います。

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

streamに設定/v1/chat/completionsして、 に POST リクエストを行いますtrue

# 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 }'