上下文缓存概览

上下文缓存旨在降低对 Gemini 的请求费用,并缩短包含重复内容的请求的延迟时间。

默认情况下,Google 会自动缓存所有 Gemini 模型的输入,以缩短延迟时间并加快对后续提示的回答速度。

对于 Gemini 2.5 Flash(输入令牌数下限为 1,024)和 Gemini 2.5 Pro(输入令牌数下限为 2,048)模型,当发生缓存命中时,缓存的输入令牌的费用相较于标准输入令牌可享受75% 的折扣

在响应元数据字段中查看缓存命中令牌信息。如需停用此功能,请参阅生成式 AI 和数据治理

通过 Vertex AI API,您可以创建上下文缓存,并通过以下方式对其进行更精细的控制:

您还可以使用 Vertex AI API 获取上下文缓存的相关信息

请注意,使用 Vertex AI API 缓存请求时,输入令牌的费用与标准输入令牌相同,均享受 75% 的折扣,并且可以确保节省费用。此外,系统还会根据数据的存储时间收取存储费用。

应在何时使用上下文缓存

上下文缓存特别适合后续请求重复引用大量初始上下文的场景。

可以在对 Gemini API 发起的提示请求中使用缓存的上下文项(例如大量的文本,或者一个音频文件或视频文件)来生成输出。虽然请求可以在提示中使用同样的缓存内容,但也会包含每个提示独有的文本。例如,构成某个聊天对话的每个提示请求都可以包含引用一个视频的相同上下文缓存以及构成每轮聊天内容的独有文本。

例如,对于以下使用场景,可以考虑使用上下文缓存:

  • 有大量系统指令的聊天机器人
  • 对较长的视频文件进行的重复分析
  • 针对大型文档集的定期查询
  • 频繁的代码库分析或 bug 修复

通过缓存实现成本效益

虽然上下文缓存是一项付费功能,但它的目的是为了降低整体的运营成本。结算取决于以下因素:

  • 缓存词元数:缓存的输入词元数,如果相同的词元在后续提示中被重复使用,则按折扣费率计费。
  • 存储时长:所缓存词元的存储时长(按小时计费)。当上下文缓存到期时,缓存的词元会被删除。
  • 其他因素:可能还会产生其他费用,例如非缓存输入词元和输出词元的费用。

上下文缓存不支持预配吞吐量。使用上下文缓存的预配型吞吐量请求会被视为按需付费

支持的模型

以下 Gemini 模型支持上下文缓存:

如需了解详情,请参阅可用的 Gemini 稳定模型版本。请注意,上下文缓存支持受支持模型的所有 MIME 类型。

可用性

可在提供 Vertex AI 上的生成式 AI 的区域使用上下文缓存。如需了解详情,请参阅 Vertex AI 上的生成式 AI 位置

VPC Service Controls 支持

上下文缓存支持 VPC Service Controls,这意味着您的缓存无法渗漏到服务边界之外。如果您使用 Cloud Storage 构建缓存,请将您的存储桶添加到服务边界中,以保护您的缓存内容。

如需了解详情,请参阅 Vertex AI 文档中的将 VPC Service Controls 与 Vertex AI 搭配使用

后续步骤