[RAG] RAG知识库方案的常见问题、工程实践

0 序言

1 RAG知识库方案的常见问题、工程实践

Q: 如何将RAG知识库的准确率从60%提升到85%? *

Step1 【精准定位】问题环节

别盲目一来就调参,先要看清楚问题出现在哪一层。

  • 上下文召回率(Content Recall) => 说明问题在:检索环节

指标意义:衡量该找回的相关信息是否都找到了
召回率低,说明问题出在 embedding 模型 或 切分策略上。
[AI] 智能系统的评估方法 - 博客园/数据知音

查全率 := 召回率/Recall、灵敏度(通俗意义的“检出率”)
查准率 := 准确率/Precision(常被混淆为“检出率”)
  • 忠实度(Failthness) => 生成环节

指标意义:衡量生成的答案是否严格基于检索到的内容
忠实度低,说明大模型在"瞎编"信息,也就是幻觉

  • 小结:IF 召回率低 => 修复检索管线;IF 忠实度低 => 修复生成管线

Step2 【数据切分】优化

性价比最高的优化环节,收益最直接

  • X/不要: 固定 Token 一刀切
  • 按固定字数强行切断
  • 关键实时任意被拆成2个chunk
  • 上下文语义断裂
  • √/建议: NLP 语义感知动态切分
  • 按句子/ 段落自然边界切分
  • 识别语义完整的最小单元
  • 保留信息的完整性
  • 工程经验:保留10-20%的重叠窗口

相邻chunk之间保留一部分重叠内容,避免关键信息恰好落在切分边界上,而被“腰斩”

Step3 【用户提问】的预处理

真实用户的提问往往模糊、不完整

  • 用户模糊提问 => 大模型扩写补全 => 相似度校验 => 进入检索

  • 为什么要检验?(避免:大模型扩写的幻觉风险)

扩写可能“脑补”出原本用户不存在的限定条件,导致检索方向严重跑偏,反而拉低准确率。

  • 余弦相似度的门控机制 (校验扩写版的阈值)

计算原始提问扩写版提问的向量相似度,低于阈值则直接丢弃扩写结果,宁可保守也不引入噪声。
阈值可根据业务容忍度在 0.65 - 0.85 之间调整。

Step4 【混合检索】(向量检索 + 关键词检索) + 重排序

多路召回分数不在同一量纲上,怎么统一?

  • 向量检索 Dense
  • 擅长语义相似匹配
  • 擅长同义 / 泛化表达
  • 关键词检索 Spare
  • 擅长精确匹配
  • 擅长专有名词 / 代码
  • 实现思路:
  • 可使用 LambdaMART 统一打分维度

[AI/算法] LambdaMART:一种用于排序学习(Learning to Rank)的算法 - 博客园/数据知音
用梯队提升树学习一个统一的排序函数,把BM25、向量相似度、实体匹配度等特征融合成一个最终排序
可解释、工程成熟、延迟可控

Step5 【策略路由】的分流

准确性和并发性能,从来是一对矛盾,需要进行权衡。

  • 意图识别,先分流 —— 前置判断

用轻量分类器,先判断查询的复杂程度,决定走哪条检索通道。

  • IF 简单查询
  • 纯向量检索
  • 跳过重排序
  • 低延迟通道
  • IF 复杂查询
  • 混合检索
  • 叠加重排序
  • 高精度通道
  • 效果 : 工程效益

不用所有请求都跑最重的管线,整体响应延迟可控,同时保持住了复杂问题的准确率。

效果总览

4个环节协同作用,共同拉高准确率。

  • 语义切分 => Query校验 => 混合重排序 => 策略路由
  • 语义切分:解决数据质量问题
  • Query校验:解决 Prompt 扩写幻觉问题
  • 混合重排序:多路检索(向量检索、关键词检索)的统一与打分
  • 策略路由:平衡准确率和性能延迟

Y 推荐文献

X 参考文献

posted @ 2026-08-21 16:46  数据知音  阅读(7)  评论(0)    收藏  举报