本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用生成响应 OpenAI APIs
Amazon Bedrock 为模型推断提供了OpenAI兼容的 API 端点,该端点由 Mantle 提供支持,Mantle 是一款用于大规模机器学习模型服务的分布式推理引擎。这些终端节点允许您在 Amazon Bedrock 模型中使用熟悉的工具,使您只需更新基本 URL OpenAI SDKs 和 API 密钥即可迁移现有应用程序,只需更新您的基本 URL 和 API 密钥即可。
主要优势包括:
-
异步推理 — 通过响应 API 支持长时间运行的推理工作负载
-
状态对话管理 — 自动重建上下文,无需在每个请求中手动传递对话历史记录
-
简化工具使用 — 简化了代理工作流程的集成
-
灵活的响应模式 — Support 支持直播和非直播响应
-
易于迁移 — 与现有 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,请确保您具备以下条件:
模型 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
}'