Redis 推出全托管语义缓存服务 LangCache,基于向量语义匹配缓存 LLM 响应,可将 API 调用成本降低最高 90%,缓存命中返回速度快 15 倍,适合 RAG 和客服等重复意图场景。
实际部署中,LLM 应用收到的问题很少是真正前所未有的。客服助手和 RAG 流水线每天会收到成百上千次相同意图的表达,只是措辞各有不同——而大多数技术栈把每一种表达都当作一次全新的、全额计费的请求来处理。Redis LangCache 是一款完全托管的语义缓存服务,它部署在应用与模型之间,按照语义(而非精确文字)对输入提示词进行匹配,并在存在足够相似的历史答案时直接返回已存储的响应。Redis 官方报告称,该服务可节省高达 90% 的 API 成本,缓存命中时响应速度比重新查询模型快最多 15 倍。
它能部署使用吗?可以。LangCache 现已作为公开预览版在 Redis Cloud 上线,通过 REST API 访问,配套 Python 和 JavaScript SDK。Redis 同时说明,预览期间功能和行为可能发生变化。
来看一个客服助手的三个请求:
"Can I get a refund after buying the monthly plan?"
"Is the monthly subscription refundable?"
"Can I cancel the plan and get my money back?"
措辞不同,但问题和答案完全相同。如果没有语义缓存,每个版本都会触发一次完整的生成:处理输入 token、解码输出 token、用户等待。
前缀缓存(Prefix caching)只能削减部分成本。当请求之间共享系统提示词或上下文时,引擎会复用为此前缀计算的 KV 状态,但请求仍然会到达 LLM,新 token 仍然需要被处理,完整答案仍然需要被解码。前缀缓存命中只是一次更便宜的生成调用,而非一次被跳过的调用。
LangCache 将缓存移到模型外部,直接存储生成的响应本身。整体架构是一个两步循环:
在调用模型之前,应用先将提示词发送到 POST /v1/caches/{cacheId}/entries/search。
LangCache 为该提示词生成一个 embedding,并在已存储的条目上执行向量搜索。
如果某个语义相似的条目通过了配置的相似度阈值,就直接返回缓存的响应,不再发生 LLM 调用。
未命中时,应用照常调用选定的 LLM,然后将提示词和新响应通过 POST /v1/caches/{cacheId}/entries 存储,供后续匹配使用。
Embedding 生成由服务处理,支持默认模型或用户自选模型。缓存行为通过相似度阈值、TTL、驱逐策略以及自适应控制(调节精度和召回率)来管控。基于 Redis 向量数据库构建,对外暴露 REST API,可与任何 LLM 提供方和任何编程语言配合使用。命中率和节省金额可在 Redis Cloud 控制台中监控。
一次缓存命中省掉了额外模型调用的输入 token、输出 token 以及解码延迟。在一次对比演示中,对同义改写的问题分别走两条路径,直接推理耗时 2.232 秒,消耗 514 个输入 token 加 250 个输出 token。LangCache 则在 0.37 秒内返回了之前的响应,LLM 输入或输出 token 均为零——在该次运行中快了约 6 倍。
Redis 文档对节省如何累积有审慎的说明:使用缓存响应时不需要为输出 token 付费,而输入 token 的成本通常会被 embedding 和存储成本所抵消。估算公式为:
估算每月节省 = 月度输出 token 成本 × 缓存命中率
假设月度 LLM 支出为 200 美元,其中 60% 用于输出 token,命中率为 50%,则每月节省约 60 美元。Redis 还提供了一个节省计算器,用于年度估算。
Redis 在公开预览公告中称缓存命中响应快最多 15 倍、token 用量降低最多 70%;而当前产品页面标注的节省比例最高达 90%。客户 Mangoes.ai 报告在其患者护理语音应用中达到 70% 的命中率,LLM 支出减少 70%,响应速度提升 4 倍。实际效果取决于流量中存在多少安全的重复内容。
判断哪些问题可以安全地共享答案,是一个生产层面的关切,而非配置细节。阈值设得过低,会把退款政策返回给咨询升级的用户;设得过高,几乎每条同义改写都要回到模型,缓存就失去了存在价值。生产环境需要精心调优的阈值、让过期答案自然淘汰的过期策略、租户间的数据隔离,以及对错误匹配的监控。LangCache 通过访问作用域、自定义过滤、TTL 和驱逐控制,以及 Redis Cloud 监控来覆盖这些需求。数据保留在客户的 Redis 服务器上,Redis 声明不会访问这些数据或将其用于模型训练。
前缀缓存削减了提示词处理成本;语义缓存在命中时完全跳过了 LLM 调用。
LangCache 是一个两步 REST 集成:模型前搜索,模型后存储。
节省主要来自被跳过的输出 token;文档给出了公式——输出成本 × 命中率。
Redis 声称节省高达 90%、缓存命中快最多 15 倍;演示运行中实测为 6 倍。
阈值、TTL、隔离和错误匹配监控决定了语义缓存是否安全。