

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

# OpenAI APIsを使用してレスポンスを生成する
<a name="bedrock-mantle"></a>

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

その他の主な利点には以下が含まれます:
+ **非同期推論** — Responses API による長時間実行される推論ワークロードのサポート
+ **ステートフル会話管理** – 各リクエストで会話履歴を手動で渡すことなく、コンテキストを自動的に再構築します。
+ **ツールの使用の簡素化** – エージェントワークフローの統合の合理化
+ **柔軟なレスポンスモード** – ストリーミングレスポンスと非ストリーミングレスポンスの両方のサポート
+ **簡単な移行** – 既存の OpenAI SDK コードベースと互換性があります

## サポートされているリージョンとエンドポイント
<a name="bedrock-mantle-supported"></a>

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 | 

## 前提条件
<a name="bedrock-mantle-prereq"></a>

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
<a name="bedrock-mantle-models"></a>

Models API を使用すると、Mantle を搭載した Amazon Bedrock で利用可能なモデルを検出できます。この API を使用して、 Responses API および Chat Completions API で使用できるモデルのリストを取得します。API の詳細については、[OpenAI「 Models ドキュメント](https://platform.openai.com/docs/api-reference/models)」を参照してください。

### 使用可能なモデルを一覧表示する
<a name="bedrock-mantle-models-list"></a>

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

------
#### [ 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
<a name="bedrock-mantle-responses"></a>

Responses API は、ストリーミング、バックグラウンド処理、マルチターンインタラクションをサポートするステートフルな会話管理を提供します。API の詳細については、[OpenAI「レスポンスドキュメント](https://platform.openai.com/docs/api-reference/responses)」を参照してください。

### 基本リクエスト
<a name="bedrock-mantle-responses-create"></a>

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

------
#### [ 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?"}
    ]
}'
```

------

### ストリームレスポンス
<a name="bedrock-mantle-responses-streaming"></a>

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

------
#### [ 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
<a name="bedrock-mantle-chat-completions"></a>

Chat Completions API は会話レスポンスを生成します。API の詳細については、[OpenAIチャット完了ドキュメント](https://platform.openai.com/docs/api-reference/chat/create)を参照してください。

### チャット完了を作成する
<a name="bedrock-mantle-chat-completions-create"></a>

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

------
#### [ 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!"}
    ]
}'
```

------

### ストリーミングを有効にする
<a name="bedrock-mantle-chat-completions-streaming"></a>

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

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

------