本指南详细介绍了如何在 Amazon Bedrock 中调用 Anthropic Claude 系列模型。您将了解到进行模型推理所需的请求参数、响应字段,以及如何通过 InvokeModel(同步)和 InvokeModelWithResponseStream(流式)操作与模型交互。

准备工作:获取模型关键信息

在调用模型进行推理之前,您需要获取模型的 ID。此外,了解模型的具体能力和限制也至关重要。您可以在 Amazon Bedrock 的官方文档中查阅以下信息:

  • 支持的基础模型列表与模型 ID:获取调用特定模型所需的唯一标识符。
  • 支持的模态:了解模型支持的输入和输出类型(如文本、图像)。
  • 支持的 Bedrock 功能:确认模型是否支持您想使用的特定 Bedrock 功能。
  • 可用的 AWS 区域:查看模型在哪些 AWS 区域提供服务。
  • Converse API 支持情况:部分 Claude 模型也支持通过 Converse API 进行调用,可简化多轮对话的开发。

Prompt 设计指南

高质量的 Prompt 是充分发挥模型能力的关键。

通用原则与技巧

关于通用的 Prompt 设计方法,请参考 Amazon Bedrock 的 Prompt 工程概念文档。针对 Claude 模型的特性,建议查阅 Anthropic 官方的 Prompt 工程指南以获得最佳效果。

使用 XML 标签构建结构化 Prompt

Claude 模型支持使用 XML 标签来组织和分隔 Prompt 的不同部分,从而提高模型对上下文的理解能力。例如,您可以使用 <examples> 标签包裹示例,使用 <document> 标签包裹待处理的文档。建议使用具有描述性的标签名以获得最佳效果。

<document>
这是需要模型分析和总结的文档内容。
</document>

<question>
请总结上述文档的核心观点。
</question>

使用系统提示(System Prompt)

系统提示可以为 Claude 模型设定一个特定的角色、个性和行为准则,使其在整个对话中保持一致。

支持系统提示的模型版本:

  • Anthropic Claude 3.5 Sonnet
  • Anthropic Claude 3 系列模型(及更新版本,如 Anthropic Claude 3.7 Sonnet)
  • Anthropic Claude v2.1

PDF 处理与内容引用

Claude 模型具备处理 PDF 文档的能力,并可以在响应中提供内容的引用来源,指明信息源自文档的具体位置。

注意事项

为避免在调用 Anthropic Claude v2.1 模型时发生超时,建议将 prompt 字段中的输入 Token 数量限制在 18 万以内。

API 调用方式

Amazon Bedrock 提供了两种主流的 API 格式来调用 Claude 模型:Messages APIText Completions API。您需要在推理调用的 body 字段中提供符合所选 API 格式的 JSON 对象。

Messages API

Messages API 是构建多轮对话应用(如聊天机器人、虚拟助手)的首选。它能更好地管理和理解对话历史,实现更连贯的交互。

Text Completions API

Text Completions API 主要用于单轮的文本生成任务,例如:

  • 撰写一篇博客文章
  • 总结用户提供的文本
  • 进行简单的问答

代码示例

官方 AWS SDK 文档中包含了使用 Python 等语言调用 Anthropic Claude 模型的代码示例,展示了如何构造请求并发起 InvokeModelInvokeModelWithResponseStream 调用。


👉 如果你需要 ChatGPT 代充 / Claude / Claude Code / 镜像 / 中转 API