本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 OpenAI APIs產生回應
Amazon Bedrock 為模型推論提供OpenAI相容的 API 端點,採用適用於大規模機器學習模型服務的分散式推論引擎 Mantle。這些端點可讓您使用熟悉的 OpenAI SDK 和工具搭配 Amazon Bedrock 模型,讓您以最少的程式碼變更遷移現有的應用程式,只需更新您的基本 URL 和 API 金鑰即可。 SDKs
主要優點包括:
-
非同步推論 – 透過 Responses API 支援長時間執行的推論工作負載
-
具狀態對話管理 – 自動重建內容,無需在每個請求中手動傳遞對話歷史記錄
-
簡化工具使用 – 簡化客服人員工作流程的整合
-
彈性回應模式 – 支援串流和非串流回應
-
輕鬆遷移 – 與現有的 OpenAI SDK 程式碼庫相容
支援的區域和端點
Amazon Bedrock 可在下列AWS區域使用:
| 區域名稱 |
區域 |
Endpoint |
| 美國東部 (俄亥俄) |
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 |
| Europe (Stockholm) |
eu-north-1 |
bedrock-mantle.eu-north-1.api.aws |
| 南美洲 (聖保羅) |
sa-east-1 |
bedrock-mantle.sa-east-1.api.aws |
先決條件
使用 OpenAI APIs之前,請確定您有下列項目:
模型 API
模型 API 可讓您在採用 Mantle 技術的 Amazon Bedrock 中探索可用的模型。使用此 API 擷取可與回應 API 和聊天完成 API 搭配使用的模型清單。如需完整的 API 詳細資訊,請參閱OpenAI模型文件。
列出可用的模型
若要列出可用的模型,請選擇您偏好方法的索引標籤,然後遵循下列步驟:
- 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
-
向 提出 POST 請求/v1/responses,並將 stream設定為 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
聊天完成 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
-
向 提出 POST 請求/v1/chat/completions,並將 stream設定為 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
}'