上下文缓存概览

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

支持的模型

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

  • Gemini 1.5 Flash 稳定版
  • Gemini 1.5 Pro 稳定版

如需了解详情,请参阅可用的 Gemini 稳定模型版本

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

支持的 MIME 类型

上下文缓存支持以下 MIME 类型:

  • application/pdf
  • audio/mp3
  • audio/mpeg
  • audio/wav
  • image/jpeg
  • image/png
  • text/plain
  • video/avi
  • video/flv
  • video/mov
  • video/mp4
  • video/mpeg
  • video/mpegps
  • video/mpg
  • video/wmv

应在何时使用上下文缓存

上下文缓存特别适合较短的请求重复引用大量初始上下文的场景。例如,对于以下使用场景,可以考虑使用上下文缓存:

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

通过缓存实现成本效益

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

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

如何使用上下文缓存

如要使用上下文缓存,您需要先创建上下文缓存。如需在提示请求中引用上下文缓存的内容,使用其资源名称即可。您可以在用于创建上下文缓存的命令的响应中找到上下文缓存的资源名称。

每个上下文缓存都有一个默认到期时间,默认会在其创建时间 60 分钟后过期。如有需要,您可以在创建上下文缓存时指定不同的到期时间,也可以更新尚未过期的上下文缓存的到期时间。

以下主题包含可帮助您创建、使用、更新和删除上下文缓存以及获取上下文缓存相关信息的详细信息和示例:

后续步骤