亚马逊AWS官方博客
HAQM Bedrock Runtime API 集成指南——从 Invoke Model API 迁移到 Converse API,简化生成式 AI 应用开发
![]() |
摘要
HAQM Bedrock 是一项亚马逊云科技在海外区域提供的完全托管服务,通过单个 API 提供来自包括 HAQM 在内的领先人工智能公司的高性能基础模型(FM),并提供通过安全性、隐私性和负责任的人工智能构建生成式人工智能应用程序所需的一系列广泛功能。使用 HAQM Bedrock,您可以轻松试验和评估适合您的使用案例的热门 FM,通过微调和检索增强生成(RAG)等技术利用您的数据对其进行私人定制,并构建使用您的企业系统和数据来源执行任务的代理。由于 HAQM Bedrock 是无服务器的,因此您无需管理任何基础设施,并且可以使用已经熟悉的亚马逊云科技服务将生成式 AI 功能安全地集成和部署到您的应用程序中。
随着基础模型(FM)的高速发展, HAQM Bedrock 通过模型生命周期管理来不断调整其提供的基础模型。在 2025 年下半年,HAQM Bedrock 将会停止支持一部分版本比较旧的基础模型(FM)。本博客旨在帮助客户评估和/或将 HAQM Bedrock runtime API 从 Invoke Model API 迁移到 Converse API,从而更高效地构建对话式应用。
HAQM Bedrock runtime API 及其支持的推理参数格式
目前,HAQM Bedrock runtime API 主要分为两组:Invoke Model API 和 Converse API(较新)。两组都有 RESTful API 和 streaming API (流式 API),并且同一组内支持的推理参数格式是相同的。
2024 年 5 月,HAQM Bedrock 宣布了新的 Converse API,为开发者提供了一种统一的调用 HAQM Bedrock 模型的方式,消除了因模型特定差异(如推理参数)而带来的复杂度。Converse API 还通过允许开发者以结构化方式在 API 请求中提供对话历史,简化了多轮对话管理。
对于 Invoke Model API,每个基础模型(FM)的推理参数遵循模型提供商的定义,因此参数可能会根据您使用的 FM 而有所不同,提高了业务代码维护的难度。
对于 Converse API,HAQM Bedrock 将所有支持的 FM 推理参数抽象为统一的推理参数。Converse API 支持的 FM 详情请参考文档。
请注意:截止至本博客写作时 (2025 年 5 月),Converse API 暂时不支持 embedding 模型(如 Titan Embeddings G1 – Text)、图像生成模型(如 Stability AI 的 Stable Diffusion)、视频生成模型、或语音模型(如 HAQM Nova Sonic)。
HAQM Bedrock Invoke Model API 接口名称:
- RESTful:InvokeModel
- 流式形式:InvokeModelWithResponseStream
HAQM Bedrock Converse API 接口名称:
- RESTful:Converse
- 流式形式:ConverseStream
下表列出了 HAQM Bedrock runtime API 的详细信息及其支持的一些参数格式。
请在此处查找 HAQM Bedrock runtime API 支持的模型和模型功能的信息。
模型 API 参数格式 | 支持 Invoke Model / Invoke ModelWithResponseStream |
支持 Converse / ConverseStream |
Anthropic Claude Text Completions API 格式 | 是 | 是(需少量修改) |
Anthropic Claude Messages API 格式 | 是 | 是(需少量修改) |
Meta Llama API 格式 | 是 | 是(提示词格式修改) |
AI21Labs Jamba API 格式 | 是 | 是(提示词格式修改) |
Stability AI model API | 是 | 否 |
HAQM Titan Embeddings Text API | 是(不支持流式) | 否 |
Cohere Embed model API | 是(不支持流式) | 否 |
HAQM Bedrock Runtime API 权限管理
HAQM IAM 角色或 IAM 用户访问 HAQM Bedrock runtime API 所需的最小权限:
使用 HAQM Bedrock Invoke Model API
推理参数格式
系统提示词 (System Prompts):
Invoke Model API 的系统提示词格式是一个字符串,例如:
提示词(prompts)格式:
提示词中的角色名称
一些 Text Completions 格式期望交替出现“\n\nHuman:
”和“\n\nAssistant:
”,但 Messages API 格式使用“user
”和“assistant
”角色。您可能会看到文档中提到“human”
或“user
”。这些指的是同一个角色,今后将使用“user
”。
例如:
Text completions API 格式提示词为:
上述提示词应转换为 Messages API 格式提示词:
使用 HAQM Bedrock Converse API
2024 年 5 月,HAQM Bedrock 宣布了新的 Converse API,为开发者提供了一种统一的调用 HAQM Bedrock 模型的方式,消除了因模型特定差异(如推理参数差异)而带来的复杂度。该 API 还通过使开发人员能够以结构化方式在 API 请求中提供对话历史记录,从而简化了多轮对话的管理。
此外,Converse API 支持工具使用(函数调用),对于支持的模型,将使开发人员能够执行各种需要访问外部工具和 API 的任务。
HAQM Bedrock Converse API 的系统提示词(system prompts)格式更新为一个 JSON 对象,例如:
HAQM Bedrock Converse API 的提示词(prompts)格式
示例:
从 HAQM Bedrock Invoke Model API 迁移到 HAQM Bedrock Converse API
迁移系统提示词(System Prompts)
Invoke Model API 的系统提示词格式是一个字符串,例如:
示例:
Converse API 的系统提示词格式是一个 JSON 对象,例如:
因此,您需要将系统提示词转换为 JSON 对象。
Converse API 系统提示还支持一个名为 guardContent
的字段,用来使用 HAQM Bedrock Guardrails 来保护您的生成式 AI 应用。请在文档中查找详细信息。
迁移提示词(Prompts)
HAQM Bedrock Invoke Model API(本例为 Messages API 格式)的提示词格式:
HAQM Bedrock Converse API 的提示格式与 Invoke Model API 非常相似,但没有内容类型声明语句。例如:
请注意,Converse API 不需要类型声明语句("type": "text",
)。
提示词迁移到 Converse API 前后对比:
API Parameter | From: Invoke Model API | To: Converse API |
System prompts | ||
Messages | ||
Multimodal Messages |
结论
HAQM Bedrock 是一项亚马逊云科技在海外区域提供的完全托管服务,通过单个 API 提供来自包括 HAQM 在内的领先人工智能公司的高性能基础模型(FM),并提供通过安全性、隐私性和负责任的人工智能构建生成式人工智能应用程序所需的一系列广泛功能。
HAQM Bedrock Converse API 提供了一种一致的体验,可与 HAQM Bedrock 中提供的模型配合使用,消除了开发者管理特定于某个模型的实现工作,降低复杂度。使用此 API,您只需编写统一的代码,便可以无缝使用 HAQM Bedrock 上的多种基础模型。因此,我们建议您在满足业务要求的情况下迁移到 Converse API。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。