你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

提示缓存

通过使用提示缓存,可以减少提示开头具有相同内容的较长提示的总体请求延迟和成本。 在本文中,“提示”是指作为聊天补全请求的一部分发送给模型的输入。 该服务能够保留已处理输入令牌计算的临时缓存,以提高整体性能,而不是一遍又一遍地重新处理相同的输入令牌。 提示缓存不会影响模型响应中返回的输出内容,但延迟和成本会降低。 对于受支持的模型,如果是标准部署类型,缓存令牌可按某个输入令牌定价的折扣计费,如果是预配部署类型,缓存令牌最多可按输入令牌的 100% 折扣计费。

缓存通常在处于非活动状态的 5-10 分钟内清除,并且始终在缓存上次使用后的一小时内移除。 提示缓存不会在 Azure 订阅之间共享。

支持的模型

目前,只有以下模型支持使用 Azure OpenAI 进行提示缓存:

  • o1-2024-12-17
  • o1-preview-2024-09-12
  • o1-mini-2024-09-12
  • gpt-4o-2024-11-20
  • gpt-4o-2024-08-06
  • gpt-4o-mini-2024-07-18
  • gpt-4o-realtime-preview(版本 2024-12-17)

注意

现在,提示缓存也作为 gpt-4ogpt-4o-mini 模型微调的一部分提供。 有关详细信息,请参阅定价页的微调部分。

API 支持

对提示缓存的官方支持首次出现在 API 版本 2024-10-01-preview 中。 目前,只有 o1 模型系列支持 cached_tokens API 响应参数。

入门

为了使请求利用提示缓存,请求必须同时满足以下条件:

  • 长度至少为 1,024 个标记。
  • 提示中的前 1,024 个标记必须相同。

当提示中的令牌计算与提示缓存的当前内容匹配时,称为缓存命中。 缓存命中将在聊天补全响应中的 prompt_tokens_details 下显示为 cached_tokens

{
  "created": 1729227448,
  "model": "o1-preview-2024-09-12",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": "fp_50cdd5dc04",
  "usage": {
    "completion_tokens": 1518,
    "prompt_tokens": 1566,
    "total_tokens": 3084,
    "completion_tokens_details": {
      "audio_tokens": null,
      "reasoning_tokens": 576
    },
    "prompt_tokens_details": {
      "audio_tokens": null,
      "cached_tokens": 1408
    }
  }
}

前 1,024 个标记之后,每增加 128 个相同的标记就会发生一次缓存命中。

前 1,024 个标记中的单个字符差异将导致缓存未命中,其特征是 cached_tokens 值为 0。 默认情况下启用提示缓存,无需为支持的模型进行额外配置。

缓存的内容是什么?

对于 o1 系列模型,缓存内容仅为文本,不支持系统消息、图像、工具使用/功能调用或结构化输出。 这会将这些模型的提示缓存的有效性限制为消息数组的用户/助手部分,这些部分不太可能具有相同的 1024 标记前缀。

以下是支持提示缓存的情况:

支持的缓存内容 描述 支持的模型
消息 完整的消息数组:系统、用户和助手内容 gpt-4o
gpt-4o-mini
gpt-4o-realtime-preview(版本 2024-12-17)
映像 用户消息中包含的图像,可以是链接,也可以是编码为 base64 格式的数据。 各个请求之间的详细参数设置必须相同。 gpt-4o
gpt-4o-mini
工具使用 消息数组和工具定义。 gpt-4o
gpt-4o-mini
gpt-4o-realtime-preview(版本 2024-12-17)
结构化输出 结构化输出架构作为前缀附加到系统消息中。 gpt-4o
gpt-4o-mini

为了提高缓存命中发生的可能性,应构建请求,使重复内容出现在消息数组的开头。

是否可以禁用提示缓存?

默认情况下会为所有受支持的模型启用提示缓存。 不支持选择退出快速缓存。