推测性缓存预热:在输入提示词时预热缓存,节省10-20秒等待时间

Reddit r/LocalLLaMA 工具

摘要

推测性缓存预热在用户输入提示词时预先处理系统提示词和工具数组,从而在本地LLM推理中节省10-20秒的等待时间。该功能是用于本地AI的开源OpenFox框架的一部分,可在不破坏缓存一致性的前提下提升交互性。

https://preview.redd.it/0g9l1pvqsdch1.png?width=603&format=png&auto=webp&s=33b554fa2e8344205dc586fb4080bb4e472c8abb 大家好,我一直在持续改进OpenFox(MIT许可证——没有任何商业模式),这是一个专注于本地AI的框架,主要针对编程,但你也知道,它也能做其他任何事情。我每天都在用,配合我的2x Spark集群,最近主要使用DS4 Flash。我注意到一个微小的改进机会,虽然算不上革命性,但某种程度上让我豁然开朗。当你创建一个新会话并开始输入提示词时,本地设备会有一段空闲时间。然后你发送提示词,会话开始,你的LLM需要处理:系统提示词(包含AGENTS.md、你的偏好)——根据项目与设置不同,约5K到10K token;工具数组——约1K token;以及提示词本身。我想:“为什么不用这段时间来预热上下文,使用与我发送提示词时完全相同的系统提示词呢?”这就是“推测性缓存预热”的概念。系统提示词加工具数组在你输入时被处理,然后当你发送提示词时,只需处理提示词本身。以500 tps的提示词处理速度计算,这轻松节省10秒,使交互体验更流畅。这是一项边际改进,但基本上是零成本的。 —— 顺便提一下,这正是“本地LLM优先”框架对细节的关注。例如,我花了很多精力确保不会破坏缓存,比如保持稳定的系统提示词和工具,并采用仅限主动选择的缓存失效机制(例如,如果AGENTS.md文件更新了,你可以选择随之更新系统提示词)。
查看原文

相似文章

API 中的提示词缓存

OpenAI Blog

OpenAI 推出提示词缓存功能,这是一项自动特性,通过在 GPT-4o、GPT-4o mini、o1-preview 和 o1-mini 模型上重用最近缓存的输入令牌,可将 API 成本降低 50% 并改善延迟。该功能会自动应用于超过 1,024 个令牌的提示词,无需开发者进行集成更改。