什么是 语义缓存?
语义缓存是一种先对请求生成向量、查找足够相似的历史请求,并在策略与元数据边界同时匹配时复用已有回答的缓存。
快速了解
| 创建时间 | 2020 年代初在 LLM 应用中逐步普及 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
语义缓存把精确键缓存扩展到改写句和近似重复请求。查询时,系统对标准化请求生成向量,先应用租户、授权范围、语言、模型版本、提示词版本、来源修订和安全策略等硬过滤,再只接受距离通过校准阈值的最近条目。有效命中可以跳过检索与生成,但误命中可能为错误意图返回看似合理的答案,甚至跨边界泄露数据。因此缓存必须是非权威、可观测、带版本、会过期且可安全重建的派生数据。阈值、失效和风险控制见<a href="https://qubittool.com/zh/blog/llm-semantic-caching-production-guide">生产级语义缓存指南</a>。
主要特点
- 通过向量匹配请求语义,不要求缓存键逐字相同
- 把软相似度阈值与硬元数据和权限过滤结合
- 需要 TTL、失效、版本管理和内存淘汰策略
- 在命中率、误命中风险与陈旧答案风险之间权衡
- 按需隔离租户、身份、模型、提示词、语言和来源版本
常见用途
- 为高频 FAQ 的不同问法复用已验证答案
- 减少客服与内部知识助手中的重复 LLM 调用
- 缓存近似重复输入的确定性分类或抽取结果
- 在明确新鲜度窗口内提供稳定公开信息
- 在不绕过策略校验的前提下测量成本与延迟收益
示例
loading...
Loading code...常见问题
语义缓存与精确缓存有什么区别?
精确缓存要求键完全一致;语义缓存可为改写后的请求复用答案,但需要相似度模型,并且必须更严格地防止错误匹配。
语义缓存与 RAG 有什么区别?
RAG 检索来源片段后仍会调用生成模型;语义缓存直接取回完整历史回答,有效命中时可以完全跳过生成。
如何选择语义缓存相似度阈值?
应使用真实业务中的标注请求对扫描不同阈值,按意图切片测量命中率和有害误命中率,再根据风险预算确定策略。
语义缓存应按哪些字段分区?
至少考虑租户、授权范围、语言、模型和提示词版本、来源修订、安全策略与响应类型。相似度匹配绝不能跨越安全边界。
哪些请求不适合语义缓存?
个性化、快速变化、高风险、权限敏感、交易型或会产生副作用的请求通常不适合,除非有更强的确定性校验保证正确性。