Redis 推出 LangCache:按语义命中的托管缓存服务
LangCache 位于应用与模型之间,按语义而非字面文本匹配提示词并返回已存答案,目前在 Redis Cloud 公开预览。
Redis 发布了一项托管服务,让生产环境中的大语言模型(LLM)应用不必为同一个问题重复付费。LangCache 位于应用与模型之间,把新进入的提示词与此前已回答过的提示词按语义而非字面文本进行匹配,相似度足够高时直接返回已存储的回答。
该服务已在 Redis Cloud 上以公开预览形式提供,通过 REST API 调用,配有 Python 和 JavaScript SDK。Redis 提示,预览期间功能和行为可能发生变化。
与前缀缓存的区别
前缀缓存(prefix caching)复用共享系统提示词对应的 KV 状态,但请求依然会到达模型,答案依然要逐个 token 解码。按 Redis 的说法,前缀缓存命中只是让一次生成调用变便宜,而不是省掉这次调用。LangCache 把缓存放到模型之外,直接存储生成好的回答。
向量表示(embedding)的生成由服务方负责,可用默认模型,也可自带模型。缓存行为通过相似度阈值、TTL 和淘汰策略控制,另有调节精确率与召回率的自适应参数。由于构建在 Redis 的向量数据库之上并以 REST 暴露,它可搭配任意模型厂商和任意编程语言,命中率与节省情况在 Redis Cloud 控制台查看。
官方给出的数字
Redis 称 API 成本最高可降低 90%,缓存命中时响应最快可达重新请求模型的 15 倍;预览公告中的表述是响应最快 15 倍、token 用量最多减少 70%。在一次针对改写问题的演示中,直接推理耗时 2.232 秒,消耗 514 个输入 token 和 250 个输出 token;LangCache 用 0.37 秒返回了此前的回答,且未消耗任何 token。
Redis 文档对节省口径更为谨慎:缓存命中的回答不收取输出 token 费用,输入 token 成本通常被向量表示和存储成本抵消。建议的估算方式是月度输出 token 成本乘以缓存命中率。若每月花费 200 美元、其中 60% 用于输出 token、命中率 50%,则每月节省 60 美元。
客户 Mangoes.ai 表示,其患者护理语音应用命中率为 70%,模型支出下降 70%,响应速度提升 4 倍。Redis 称数据保留在客户自己的 Redis 服务器上,不会被用于训练模型。详情见 MarkTechPost。