本文原文来自DataLearnerAI官方博客:
https://www.datalearner.com/blog/1051734484275280
在大模型的应用中,处理复杂请求往往伴随着较高的延迟和成本,尤其是当请求内容存在大量重复部分时。这种“慢请求”的问题,特别是在长提示和高频交互的场景中,显得尤为突出。为了应对这一挑战,OpenAI 最近推出了 提示缓存(Prompt Caching) 功能。这项新技术通过缓存模型处理过的相同前缀部分,避免了重复计算,从而大幅减少了请求的响应时间和相关成本。特别是对于包含静态内容的长提示请求,提示缓存能够显著提高效率,降低运行开销。本文将详细介绍这项功能的工作原理、支持的模型,以及如何通过合理的提示结构优化缓存命中率,帮助开发者提升大模型的使用体验。
提示缓存(Prompt Caching)机制,用于减少在处理重复内容的长提示时的延迟和计算成本。这里的“提示”指的是你向模型发送的输入内容。在请求过程中,系统并不会每次都重新计算提示的前N个输入tokens,而是缓存先前的计算结果。这样,对于后续具有相同提示前缀的请求,系统就能够重用这些缓存数据,从而加速处理,减少延迟,并节省成本。
简单来说,提示缓存的工作原理如下:
官方给出了一个非常形象的提示缓存原理图:

从上图可以看出来,如果你的原始请求中前面的tokens与此前的请求相同,那这部分请求可以不通过模型解决,而直接通过缓存结果读出来即可。
当前,OpenAI官方提供的可缓存的模型如下:

当前支持提示缓存的模型(如 gpt-4o、gpt-4o-mini、gpt-4o-realtime-preview 等)均能有效降低文本输入成本,特别是 50% 的成本折扣,而 gpt-4o-realtime-preview 模型在处理音频输入时甚至能享受 80% 的成本折扣。这些模型的支持不仅提高了模型的响应效率,还为开发者提供了一个低成本、高性能的解决方案,特别适用于那些需要频繁重复请求或包含大量静态内容的场景。
根据当前OpenAI官方提供的文档,如果你的请求要使用到缓存,必须满足如下条件:
此外,还需要注意的是,官方说起始1024个tokens是最少可以缓存的长度,但是后面命中的增量式128个tokens,也就是说缓存的长度都是1024、1152、1280、1408这样以1024个tokens为最低,128个tokens递增的方式保存。
当发生“缓存命中”时,API 响应将包含 cached_tokens,表示有多少标记来自缓存。例如,发送给 o1-preview-2024-09-12 模型的请求可能会返回如下响应:
{
"created":1729227448,
"model":"o1-preview-2024-09-12",
"object":"chat.completion",
"usage":{
"completion_tokens":1518,
"prompt_tokens":1566,
"total_tokens":3084,
"completion_tokens_details":{
"reasoning_tokens":576
},
"prompt_tokens_details":{
"cached_tokens":1408
}
}
}
在这个例子中,1408个标记是从缓存中获取的,显著减少了处理时间和成本。
OpenAI官方说,模型不会一直保存缓存信息。目前GPT系列模型的提示缓存的相关机制如下:
cached_tokens 的值将为 0。提示缓存的功能根据所使用的模型有所不同。例如,o1 系列模型仅支持文本,不支持系统消息、图像、工具调用或结构化输出,因此其缓存功能主要适用于用户消息部分。而 gpt-4o 和 gpt-4o-mini 模型支持更多内容类型的缓存,包括:
detail 参数一致。为了增加缓存命中的概率,建议将重复内容放在消息数组的前面。
提示缓存功能首次在 API 版本 2024-10-01-preview 中提供支持。对于 o1 模型系列,API 响应中现已加入了 cached_tokens 参数,用于显示缓存命中的标记数。
启用提示缓存的步骤:
cached_tokens,指出缓存了多少标记。提示缓存在所有支持的模型中 默认启用,并且目前 没有禁用选项。这意味着,如果你使用的是支持的模型,缓存会自动启用,前提是请求符合条件。
提示缓存带来了两大主要好处:
对于那些经常需要处理相同数据或提示的应用场景,如对话式 AI 系统、数据提取和重复查询等,提示缓存的优势尤为明显。
为了提高缓存命中的概率,OpenAI也给出了一些官方建议:
提示缓存不会影响模型的输出结果。无论是否使用缓存,生成的输出始终是相同的。因为只有提示本身被缓存,实际的响应是每次基于缓存的提示重新计算的。
是否可以手动清除缓存?
目前不支持手动清除缓存。长时间未被使用的提示会自动从缓存中移除。通常,缓存会在 5-10 分钟 的非活动期后清除,但在流量较少的时段,缓存最多可能持续 一小时。
使用提示缓存需要支付额外费用吗?
不需要。缓存是自动启用的,用户不需要额外操作或支付额外费用。
缓存的提示是否会计入 TPM 限制?
是的,缓存不影响速率限制,缓存命中仍会计入请求的总数量。
在 Scale Tier 和批量 API 中可以使用提示缓存折扣吗?
提示缓存折扣不适用于批量 API,但在 Scale Tier 中适用。通过 Scale Tier,溢出的令牌也会受到缓存优惠。
提示缓存是否适用于零数据保留请求?
是的,提示缓存符合现有的零数据保留政策。
Azure OpenAI 的提示缓存功能为处理长提示和重复请求提供了一个非常有价值的优化方案。它通过减少计算延迟和成本,显著提高了模型的效率。
随着更多模型的支持以及提示缓存功能的不断优化,预计 Azure OpenAI 用户将能够享受到更高效、更经济的服务体验。
 0赞
0赞好文章,需要你的鼓励
 推荐文章
                    推荐文章
                  英伟达和诺基亚宣布战略合作,将英伟达AI驱动的无线接入网产品集成到诺基亚RAN产品组合中,助力运营商在英伟达平台上部署AI原生5G Advanced和6G网络。双方将推出AI-RAN系统,提升网络性能和效率,为生成式AI和智能体AI应用提供无缝体验。英伟达将投资10亿美元并推出6G就绪的ARC-Pro计算平台,试验预计2026年开始。
印度理工学院研究团队从大脑神经科学的戴尔定律出发,开发了基于几何布朗运动的全新AI图像生成技术。该方法使用乘性更新规则替代传统加性方法,使AI训练过程更符合生物学习原理,权重分布呈现对数正态特征。研究团队创建了乘性分数匹配理论框架,在标准数据集上验证了方法的有效性,为生物学启发的AI技术发展开辟了新方向。
虽然ChatGPT等AI工具正在快速改变世界,但它们并非无所不知的神谕。ChatGPT擅长"令人信服的错误",经常提供有偏见、过时或完全错误的答案。在健康诊断、心理健康、紧急安全决策、个人财务规划、机密数据处理、违法行为、学术作弊、实时信息监控、赌博预测、法律文件起草和艺术创作等11个关键领域,用户应避免完全依赖ChatGPT,而应寻求专业人士帮助。
Sony AI开发出SoundReactor框架,首次实现逐帧在线视频转音频生成,无需预知未来画面即可实时生成高质量立体声音效。该技术采用因果解码器和扩散头设计,在游戏视频测试中表现出色,延迟仅26.3毫秒,为实时内容创作、游戏世界生成和互动应用开辟新可能。
 
             
                 
                     
                     
                    