| 中间件 | 描述 |
|---|---|
| 提示缓存 | 通过缓存重复的提示前缀来降低成本 |
提示缓存
通过在 Amazon Bedrock 上缓存频繁重用的提示前缀,减少推理延迟和输入 token 成本。此中间件会自动在系统提示、工具定义和最近的消息之后放置缓存检查点,以便模型在后续请求中可以跳过对先前已见内容的重新计算。 提示缓存适用于以下场景:- 具有长且一致的系统提示的多轮对话
- 具有许多在调用间保持不变的工具定义的代理
- 用户基于相同上传上下文提出多个问题的基于文档的问答
- 具有重复静态内容的批处理工作负载
- Anthropic Claude
- Amazon Nova
了解更多关于 AWS Bedrock 提示缓存策略和限制的信息。缓存内容必须超过 1,024 个 token 才能使缓存检查点生效,有时根据模型可能需要更多。请参阅支持的模型、区域和限制。
BedrockPromptCachingMiddleware
ChatBedrockConverse
ChatBedrock
配置选项
配置选项
缓存类型。对于
ChatBedrock,目前仅支持 'ephemeral'。对于 ChatBedrockConverse,此值会被忽略,因为 Converse API 始终使用 "default" 缓存类型。缓存内容的生存时间。有效值:
'5m' 或 '1h'。请注意,Amazon Nova 模型仅支持 '5m'。开始缓存前的最小消息数。
使用不支持的模型时的行为。选项:
'ignore'、'warn' 或 'raise'。完整示例
完整示例
该中间件会缓存每个请求中直到最新消息的内容。在 TTL 窗口(5 分钟或 1 小时)内的后续请求中,先前已见的内容会从缓存中检索,而不是重新处理,从而降低成本和延迟。工作原理:
- 第一次请求:系统提示、工具和用户消息被发送到 API 并被缓存
- 第二次请求:缓存的内容从缓存中检索。只有新消息需要被处理
- 此模式在每一轮对话中继续,每个请求都重用缓存的对话历史
提示缓存通过缓存 token 来降低 API 成本,但不提供对话记忆。要在调用间持久化对话历史记录,请使用 checkpointer(如
MemorySaver)。特定于模型的行为
该中间件会自动处理 API 和模型系列之间的差异:| 功能 | ChatBedrockConverse (Anthropic) | ChatBedrockConverse (Nova) | ChatBedrock (Anthropic) |
|---|---|---|---|
| 系统提示缓存 | ✅ | ✅ | ✅ |
| 工具定义缓存 | ✅ | ❌ | ✅ |
| 消息缓存 | ✅ | ✅(不包括工具结果消息) | ✅ |
扩展 TTL (1h) | ✅ | ❌ | ✅ |
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

