- RAG
- 数据治理
RAG 工程化六步:从文档解析到引用溯源
作者:Apolla 交付团队阅读约 2 分钟
结论先行
RAG 的回答质量由六个环节共同决定:文档解析、智能切分、向量化、混合检索、重排压缩、生成溯源。实践中「回答不准」的问题约 60% 出在检索之前(解析与切分),而不是模型。用 100–300 条带标准答案的评测集分层测量召回率、重排命中率与忠实度,才能定位到具体环节。
第一步:文档解析
企业文档中表格、多栏版面、扫描件占比很高。通用解析器把表格拆成乱序文本,是后续所有环节失效的起点。需要 OCR、版面分析与表格还原能力,对 PDF、Word、PPT、图片分别选用合适的解析路径,并保留标题层级与页码等元数据。
第二步:智能切分
按固定字数切分会把一条完整的制度条款切成两半。更好的做法是按语义与标题层级切分,加入重叠窗口,并采用父子分块:检索用小块保证精度,返回给模型时带上父块保证上下文完整。
第三步:向量化
通用 Embedding 模型对行业术语与内部缩写的表示能力有限。在有一定标注数据后,用领域数据微调 Embedding 通常能把召回率提升 5–15 个百分点。多向量表示(同一块生成摘要向量与原文向量)对长文档效果更好。
第四步:混合检索
向量检索擅长语义相近,BM25 擅长精确匹配型号、编号、人名。两者融合并加上查询改写(同义扩展、HyDE)是目前的稳定做法。知识图谱在需要多跳推理的场景(「A 部门的上级部门负责人是谁」)中补足两者的短板。
第五步:重排压缩
召回 20–50 个候选片段后用 Rerank 模型精排,取前 5–8 个进入生成。上下文压缩去掉与问题无关的句子,既省 Token 又减少模型被无关内容带偏的概率。
第六步:生成溯源
要求模型在回答中标注引用的片段编号,渲染时转为可点击的原文链接。忠实度校验检查回答中的每个断言是否能在检索片段中找到依据,找不到的标记为「未经证实」而不是直接输出。
- 60%
- 「回答不准」问题出在检索之前
- 5–15个百分点
- 领域微调 Embedding 带来的召回提升
- 100–300条
- 评测集起步规模
Apolla 交付统计
用评测集分层定位
先看召回率(该找的片段找到了吗),再看重排(相关片段排前面了吗),最后看生成(模型是否忠实于检索到的内容)。
每一层单独出指标,才能知道该改解析器、换 Embedding 还是调提示词。没有分层指标的 RAG 优化,本质上是在猜。