Demo 与生产的差距在检索

用几十篇文档做 RAG 演示,效果通常不错;但放到数万篇真实文档的生产环境,问题立刻涌现:文档格式五花八门、表格与图片内容无法检索、相似文档互相干扰、用户提问方式千奇百怪。经验法则:RAG 系统的效果瓶颈 80% 在检索侧,只有 20% 在生成侧。把工程精力投入检索质量的打磨,是 RAG 项目最划算的投资。

工程化要点清单

  • 文档解析与清洗:PDF 的表格、扫描件的 OCR、Word 的批注,都需要针对性的解析管线。常见误区是「一个解析器打天下」——不同文档类型应走不同解析路径。
  • 切分策略要跟内容走:固定字数切分会切断语义完整单元(如把合同条款拦腰截断)。按文档结构(标题层级、段落)做语义切分,并保留章节上下文信息(如「本条款属于第三章 违约责任」)。
  • 混合检索而非纯向量:向量检索擅长语义相似,但对精确数字、编号、专有名词不敏感。BM25 关键词检索与向量检索融合、再经重排模型精排,是生产级系统的标准配置。
  • 引用溯源必须做:回答中标注来源文档与原文片段,既提升可信度,也为用户核验提供路径。溯源还能反哺检索评估:用户对引用的点击与反馈是最真实的评测信号。
  • 持续评测与迭代:建立覆盖典型问题的评测集,每次切分策略、检索参数或模型调整后自动回归评测。没有评测体系的 RAG 项目,优化全靠感觉,迟早翻车。

提醒

知识库的「新鲜度」管理常被忽略:文档更新后索引是否及时刷新?过期文档是否会进入检索?建议建立文档生命周期管理:变更触发索引更新、定期全量校验、明确版本优先级,确保回答永远基于最新知识。