为什么我本地部署的OCR与 RAG流水线设计会导致检索性能下降?

人工智能 2026-07-10

我正在构建一个本地部署的文档处理系统,使用:

  • 针对扫描的PDF进行OCR(光学字符识别)

  • 用于索引的嵌入向量

  • 用于检索和问答的RAG(检索增强生成)

然而,当将OCR输出与嵌入向量结合时,我在检索质量和延迟方面遇到了问题。

例如:

  • OCR文本嘈杂,影响嵌入质量

  • 相似查询之间的检索结果不一致

  • 随着文档集规模增大,性能下降

这些问题在这样一个流水线中的常见原因是什么,应该如何解决?

解决方案

我对这个问题做了一些研究,下面的答案,供同样有此疑问的朋友参考。

我认为大致归结为几个方面。

第一是OCR。如果文本嘈杂(断词、间距异常、表格排版混乱),确实会降低嵌入质量,从而导致检索不稳定。清理OCR输出帮助很大。第二是分块。按固定大小分块对我来说效果不佳。改为更具结构性的分块(章节/段落)使结果更加稳定。保留一些元数据也有帮助。第三是检索。仅嵌入向量的检索随着数据集增大而开始失效。增加关键词检索和重新排序步骤,效果提升相当明显。

就延迟而言,最大的改善是在离线处理完成OCR+嵌入,而不是在查询时进行。因此整体上类似于:

OCR → 清理 → 更好的分块 → 混合检索 → 重新排序

似乎要好得多。

据我所见,很多生产环境的搭建也是这样(包括一些本地部署的工具,如Doc2Me AI、ABBYY等),所以这更可能是流水线问题,而不是模型问题。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章