RAG Quality Guide
RAG 知识库上线前检查:切分、召回、引用与拒答
核心判断:回答流畅不等于可靠。先验证检索到的证据是否正确,再评价模型表达。
很多知识库演示只准备几个“答案就在标题里”的问题,因此看起来效果很好。真实用户却会使用缩写、旧名称、模糊描述和跨文档问题。上线前必须用更接近真实使用的测试集验证。
一、文档进入知识库之前
删除重复页眉页脚、导航文字、无意义表格列和扫描噪声;保留文档标题、章节、版本日期与权限标签。旧版制度与新版制度不能混在一起且没有时间标识,否则召回正确文本也可能给出过期答案。
二、切分不是越小越好
片段太短会失去上下文,太长则会混入无关内容。测试时重点观察:定义与例外是否被拆开、表格标题是否与数据分离、操作步骤是否保留顺序。可先按自然标题和段落切分,再根据失败问题调整,而不是盲目追求统一字符数。
三、建立四类问题集
| 问题类型 | 目的 | 合格表现 |
|---|---|---|
| 直接事实 | 验证基本召回 | 引用正确章节,答案与原文一致 |
| 同义表达 | 验证用户不同说法 | 不依赖原文关键词也能找到证据 |
| 跨段问题 | 验证多条证据组合 | 分别引用依据,不把推断当原文 |
| 库外问题 | 验证拒答 | 明确说明资料不足,不编造答案 |
四、查看召回,不要只看最终回答
每次失败都要判断是“没有找到正确片段”“找到但排序太低”“上下文正确但模型理解错误”还是“资料本身没有答案”。这四种问题的修复方向完全不同,不能都靠换一个更大的模型解决。
五、引用和拒答
回答应显示文档名称、章节或可访问链接。引用必须真的支持结论,不能只是在答案后面随机附一个相关文档。对于资料库没有覆盖的问题,系统应说明边界,并建议用户联系负责人或补充资料。
六、权限与日志
- 检索前应用权限过滤,不能先取回敏感片段再要求模型不要显示。
- 日志中避免长期保存完整敏感问题和个人数据。
- 文档删除或权限变化后,向量索引也要同步更新。
- 保留失败问题、召回片段和人工判定,形成回归测试集。
建议用 30 至 50 个真实问题建立第一版测试集。每次调整切分、嵌入模型或提示词后重复运行,只有关键问题没有退化,才适合继续扩大使用范围。