首页 › new-tools › RAG效果差?先怪你的PDF解析器

RAG效果差?先怪你的PDF解析器

很多做RAG的朋友有一个共同困惑:模型换了七八个,提示词改了上百版,检索质量就是上不去。于是开始怀疑向量库、怀疑embedding、怀疑人生。但海外AI工程圈最近两年已经形成了一个共识——RAG效果的瓶颈,大概率不在模型,而在你把PDF喂进向量库之前的那一步:文档解析。这一步国内教程几乎没人系统讲过,大家还在用pdfplumber拼正则,或者干脆无脑切片,表格全丢、公式乱码、双栏串行。今天介绍的这几个海外开源新锐项目,专门解决这个“地基”问题,每一个都是真实开源、可以今天下午就跑起来的东西。

为什么解析是RAG最大的暗坑

先说个反直觉的事实:LLM再聪明,喂给它一份被解析器切碎的文档,它也只能瞎编。一份典型的学术论文PDF里,藏着至少五类结构信息:双栏排版、跨页表格、数学公式、图片说明、页眉页脚噪音。你用传统库解析出来的文本流,表格变成一堆孤立数字,公式变成乱码符号,阅读顺序还可能是错的。检索的时候,用户问“2024年Q3营收是多少”,你的向量库里根本没有一条完整的“表格行”语义单元,召回自然一塌糊涂。

海外工程圈对此的解法是“视觉解析”:让视觉模型像人一样“看”这一页,理解布局后再输出结构化的Markdown或JSON。这波工具从2024年中开始爆发,2025年到2026年持续迭代,已经形成了明确的几条技术路线。国内中文圈对它们的讨论还停留在零星转发,这篇帮你一次补齐。

三件套之一:Docling,IBM出品的全能型选手

仓库:https://github.com/docling-io/docling

Docling是IBM Research在2024年年中开源的文档解析库,MIT协议,商用完全无限制。它可能是目前生态集成做得最好的一个:原生支持PDF、DOCX、PPTX、XLSX、图片甚至网页的解析,输出统一的结构化文档类型(DoclingDocument),可以一键导出Markdown、JSON或HTML。

它内建了几个IBM自家训练的模型:版面分析用的DocLayNet系列、表格结构识别用的TableFormer。公式、代码块、插图都能识别并归类。OCR后端可以选EasyOCR、Tesseract、RapidOCR等,按需切换。CPU就能跑,有GPU会自动加速,这在“只想快速把一批Word文档转成Markdown”的场景里非常实用。

安装和使用简单到令人发指:

pip install docling
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("report.pdf")
print(result.document.export_to_markdown())

命令行也直接可用,docling your-file.pdf就能转出Markdown。更关键的是官方维护了LlamaIndex和LangChain的加载器集成,解析结果可以直接进RAG管道,不用自己写胶水代码。另外还有docling-serve子项目,把解析能力包装成API服务,适合团队内部共享一个解析端点。

适合谁:需要批量处理多种格式文档、想要MIT协议随便商用的团队。短板:对极端复杂的扫描版学术PDF,公式和表格精度比下面两位略逊一筹。

三件套之二:Marker,单文件转换质量天花板

仓库:https://github.com/datalab-to/marker

Marker的作者是Vik Paruchuri,他同时运营着一家叫Datalab的公司(官网 https://www.datalab.to )。Marker在2024年放出后迅速成为“PDF转Markdown”各类公开基准测试里的常胜选手,尤其是数学教材和论文这种硬骨头——公式能转成可用的LaTeX,表格能保留结构,页眉页脚能自动剔除。

底层用的是Datalab自家的Surya工具包(pip install surya-ocr,同样是开源的):一个覆盖90多种语言的OCR与版面检测套件,负责行检测、文本识别、表格检测这些脏活。Marker则在它之上做排版重建,输出带坐标元数据的JSON、HTML或Markdown。

安装:

pip install marker-pdf

安装后提供命令行工具和Python API,支持批量转换和多GPU并行,具体的CLI参数随版本迭代较快,建议直接看仓库README的Quickstart。要提醒的是许可证模式:Marker采用GPL协议加商业条款——个人、研究和小团队免费,但达到一定营收规模的公司商用需要购买Datalab的许可或直接用其托管API。做内部工具一般没问题,做成产品卖钱之前务必读一下仓库里的LICENSE说明。

适合谁:追求单文件最高转换质量、文档以论文/教材/技术手册为主的个人和团队。短板:比Docling吃显存一些,商用条款要看清。

三件套之三:olmOCR,Ai2的“猛兽级”批量方案

仓库:https://github.com/allenai/olmocr

olmOCR是著名的艾伦人工智能研究所(Allen Institute for AI,Ai2,就是出OLMo开源大模型的那家)在2025年初开源的项目,思路和前两位完全不同:用视觉语言模型(VLM)直接读页面。它的核心创新叫“锚定”(anchoring)——利用PDF自带的文本层作为锚点,与页面图像对齐后交给微调过的Qwen2-VL系列模型,模型只需要修正识别错误、保持自然阅读顺序,而不是从零重新“抄写”整页。这让它在处理堆积如山的扫描版PDF时,兼顾了速度和还原度。

配套还有一个olmOCR-Bench基准,专门测公式、表格、阅读顺序这些“解析器照妖镜”项目,你甚至可以用它给自己的解析方案打分。代码是Apache 2.0,模型权重另有Ai2自己的许可证条款,商用前同样建议过一眼。

代价也很实在:它需要NVIDIA GPU,显存门槛不低,本地没有像样的显卡就跑不动官方pipeline。所以它的定位是“手里有卡、文档量按万页计”的重度玩家,或者参考它的思路选托管方案。

适合谁:要规模化 digitize 整个PDF库的研究机构和企业。短板:硬件门槛是三个里面最高的。

彩蛋第四件:Chonkie,解析完别忘了分块

解析出干净的Markdown之后,下一步是分块(chunking)。这一步海外也有个新锐开源项目值得认识:Chonkie(https://github.com/chonkie-inc/chonkie ),一个纯Python的分块库,主打“开箱即用、零配置也能用”。从最朴素的token分块,到基于句子的、基于语义相似度的分块策略都有实现,API设计得很轻。安装就是一句pip install chonkie。国内教程里分块往往还是“固定500字重叠50字”的老三样,但2026年语义分块早就该是默认选项了——这也是个实打实的认知差。

选型决策图

一张图帮你选:

flowchart TD
    A["一堆待解析文档"] --> B{"文档是什么格式?"}
    B -->|多为DOCX或PPTX| C["Docling"]
    B -->|全是PDF| D{"有没有NVIDIA显卡?"}
    D -->|没有 显存不足| E["Marker"]
    D -->|有 且页数上万| F["olmOCR"]
    C --> G["结构化Markdown或JSON"]
    E --> G
    F --> G
    G --> H["Chonkie语义分块"]
    H --> I["Embedding入向量库"]
    I --> J["RAG召回质量肉眼可见提升"]

三个工具横评:

维度 Docling Marker olmOCR
出身 IBM Research Datalab(Vik Paruchuri) Ai2
协议 MIT,随便商用 GPL+商业条款,小团队免费 代码Apache 2.0,模型另有条款
格式支持 PDF/Office/图片等全家桶 主攻PDF 主攻PDF
硬件要求 CPU可跑 中等,有GPU更快 必须NVIDIA GPU
公式表格 良好 优秀 优秀(VLM路线)
生态集成 LangChain/LlamaIndex官方集成 Surya全家桶+Datalab API 自带基准评测
一句话定位 团队默认选项 质量天花板 批量重炮

和国内方案的对比

国内做RAG的团队并非没有对应物——OpenDataLab的MinerU就是很能打的开源解析器,很多人也确实在用。真正的信息差不在“有没有工具”,而在工程意识:海外的AI工程师已经把“解析质量决定RAG上限”当成常识,解析器选型和解析基准评测(比如olmOCR-Bench这类)是立项第一件事;而国内大量教程和项目还停留在“PyMuPDF切一刀直接embedding”的阶段。另外,海外这套工具链的集成完成度值得学习——解析器不是孤立脚本,而是带官方RAG框架加载器、带API服务化方案、带基准测试的一整套基础设施。你的向量库可以随便换,但这层“地基”一旦糊弄,上面盖什么楼都是危房。

信息差总结

你可能知道的 海外圈子在做但国内很少人讲的
RAG效果差先换embedding模型 先升级PDF解析器,成本更低收益更大
用pdfplumber/PyMuPDF硬切文本 用视觉模型做版面理解,保表格保公式保阅读顺序
解析完固定长度切片 语义分块(Chonkie这类)是2026年默认项
解析质量靠感觉 用olmOCR-Bench这类公开基准给方案打分
工具能不能商用看心情 MIT(Docling)、GPL+条款(Marker)、Apache 2.0(olmOCR代码)三种模式对应三种生意

行动指南

  1. 今天下午就能做:pip install docling,拿一份你手头最恶心的PDF跑docling命令,对比你现在RAG管道里切出来的文本,差距会让你沉默。
  2. 本周:把你RAG项目里的文档预处理环节替换成Docling或Marker,用同一组测试问题跑检索召回对比,别凭感觉,记下命中率变化。
  3. 如果量大:申请或租一张NVIDIA卡试olmOCR的pipeline,并用olmOCR-Bench给你的新旧方案各打一次分。
  4. 分块升级:pip install chonkie,把固定切片换成语义分块,重跑同一组评测问题。

参考来源

  1. Docling官方仓库:https://github.com/docling-io/docling
  2. Marker官方仓库:https://github.com/datalab-to/marker
  3. Datalab官网(Marker/Surya团队):https://www.datalab.to
  4. olmOCR官方仓库:https://github.com/allenai/olmocr
  5. Chonkie官方仓库:https://github.com/chonkie-inc/chonkie

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入