构建可追溯的 RAG 系统¶
1. 先定义任务和证据标准¶
明确用户问题类型、允许使用的数据源、答案必须引用到什么粒度,以及证据不足时如何拒答。
2. 建立保真来源层¶
解析文档时保留标题、表格、代码、图注、页码和版本。不要先把所有格式压成无结构纯文本。
3. 设计检索单元¶
按自然结构切分,并保存父级标题和来源定位。为表格、代码和跨页段落使用专门规则。
4. 建立多路召回¶
至少保留精确词法检索,并根据需要加入向量检索、元数据过滤和数据源路由。
不要把复杂查询都压进同一种召回方式。多知识库、多数据结构或多权限场景,应先设计路由;自然语言需要进入数据库时,应把查询构建和安全校验作为独立步骤。
5. 重排和组织上下文¶
对候选精排、去重,控制同一来源占比,并按问题结构组织证据,而不是简单按分数拼接。
常见优化包括父文档返回、混合检索、重排和多向量表示。优化项应先在离线评估集上验证,再进入线上灰度。
6. 生成带依据的回答¶
为每段上下文分配稳定引用 ID。要求回答区分:
- 证据直接支持的事实;
- 基于多份证据的综合;
- 无法确认或存在冲突的内容。
7. 建立评估与反馈闭环¶
分别测量解析、召回、排序、引用和最终答案。每次发现失败都应定位到链路中的具体阶段。
进一步参考:RAG 优化模式。