RAG 不同场景相识度设置
你提到的这个差异非常典型,也是很多做 RAG + 意图分类缓存的人容易困惑的地方:为什么文档去重 / 聚类用 0.85~0.9 就够了,但意图分类缓存却要求 0.95~0.98?我们可以从本质原因来分析:
1️⃣ 场景差异:去重 vs 意图缓存
| 场景 | 相似度要求 | 原因 |
|---|---|---|
| 文档去重 / 聚类 | 0.85~0.9 | 文档切片可能有同义词、段落重复,但允许轻微语义差异。只要语义大体相同即可去重。 |
| RAG 检索 + 意图分类缓存 | 0.95~0.98 | 查询文本必须精确匹配缓存的意图,否则分类可能出错: - 意图分类结果直接影响业务流程 - 错判代价高(比如给用户错误答案 / 销售流程误导) - RAG 只是兜底,不允许召回语义不精确的条目 |
2️⃣ 为什么意图分类要求更高相似度
-
微小语义差异可能导致分类不同
-
示例:
- 用户输入:“我想取消订单”
- 缓存条目:“我想退货”
- embedding 相似度可能 0.88,但意图完全不同
-
如果阈值太低,会把“退货”当作“取消订单”,业务出错
-
-
RAG + 缓存是“精确匹配 + 兜底”的组合
- 高相似度 (>0.95) → 缓存直接返回结果
- 低相似度 (<0.95) → 调用 RAG 模型做兜底
- 保证缓存的“高信任度”,避免误分类
-
句子短、信息密度高
- 意图分类通常针对一句话或短句
- embedding 空间距离敏感,0.88 的相似度可能就不是同一意图
- 所以阈值必须设置得高(0.95~0.98),保证几乎完全匹配
3️⃣ 总结
| 场景 | 阈值 | 原因 |
|---|---|---|
| 文档去重 / 聚类 | 0.85~0.9 | 文本长、容忍轻微语义差异 |
| RAG 检索 + 意图缓存 | 0.95~0.98 | 短句、高精度、避免意图错判 |
| 兜底 / RAG 检索 | <0.95 | 模型做语义匹配,允许召回不同但相关内容 |
一句话理解:
阈值高低取决于业务容错率。文档去重容忍轻微差异 → 0.85~0.9 足够;意图缓存不容错 → 0.95~0.98。

浙公网安备 33010602011771号