RAG 完整链路:从一份文档到一条带引用的回答

无敌码农编辑部 · 发布于 2026-10-29

RAG 增加了什么

RAG 在生成答案前检索外部资料,把相关证据放入模型上下文。它适合回答依赖业务文档或更新资料的问题,但不会自动消除幻觉。文档没有答案、检索错了或模型误读证据时,结果仍可能错误。

理解链路时,可以把系统分成离线知识准备和在线问答两部分,再分别设计更新、验证与排错方法。

离线侧先保证资料可追溯

收集文档后要解析正文、标题、表格和必要附件,清理导航等噪声。扫描 PDF 可能需要 OCR,代码与表格则需要保留结构。解析错误会一路传到检索,换一个更大的生成模型不一定有帮助。

分块后给每个片段保存文档 ID、章节、版本、更新时间与权限信息,再生成向量并写入索引。文档更新时应替换或停用旧版本片段,删除文档也要同步清理索引,避免旧答案长期存在。

在线侧逐步缩小证据范围

收到问题后,先确认用户身份和可见资料范围,再进行关键词、向量或混合检索。必要时对候选重排,并把有限的高价值片段组装到模型输入中。每一步增加的调用都会消耗时间和资源,应该先通过样本确认收益。

上下文不是越多越好。重复段落、过时版本和无关内容可能挤掉关键证据。保留文档与片段标识,可以在生成后把引用关联到真实来源,而不是让模型凭空拼一个链接。

生成与引用怎样约束

提示中明确要求依据资料作答,证据不足时说明限制;但权限控制必须由代码完成,不能交给提示词。文档正文作为不可信资料处理,其中的“忽略前面规则”等文字不应变成系统指令。

输出引用后还要检查引用对象是否存在、用户是否有权访问,以及引用片段能否支持附近结论。一个真实链接并不自动证明回答正确。

如何定位答错的位置

保留脱敏后的问题、候选文档 ID、排序结果、最终上下文和输出,便于按层排查。正确片段没进入候选,优先查解析与检索;进入候选但没进入上下文,检查排序和截断;上下文正确却答错,再看生成约束与模型能力。

首个验证可以准备一份小文档,设置有答案、无答案、版本更新和权限受限四类问题。本文没有运行该实验,也不声称某个框架能直接达到特定效果。面试时讲清这四类验证,通常比只展示一张检索链路图更有价值。

参考资料

内容用于技术学习与求职准备,实际方案请结合版本和业务环境验证。如发现错误,欢迎通过关于页面反馈。

继续阅读