📌 项目地址:docling-project/docling | ⭐ 66,906 颗星 | 🔧 Python | 📜 未标注
干什么活的
做 RAG 或者文档问答,最费劲的往往不是写 prompt,而是把各种格式的文档变成干净的文本。PDF 里的表格、双栏排版、公式、扫描件,加上 DOCX、PPTX、邮件、网页,每种格式都得单独折腾一遍。
Docling 干的就是这个活。它把多种格式解析成统一的 DoclingDocument 表示,然后导出成 Markdown、HTML、WebVTT、DocLang 或者无损 JSON,直接喂给下游的大模型应用。项目由 IBM 开源,MIT 协议,现在归 LF AI & Data 基金会管,Star 数已经到 66906。
能解析什么
这份格式清单是它最突出的地方:
- 办公文档:PDF、DOCX、PPTX、XLSX,以及 ODF 系列(.odt/.ods/.odp)
- 电子书和网页:HTML、EPUB、Apple Pages
- 邮件:EML、MSG
- 图片:PNG、TIFF、JPEG 等,走 OCR
- 音频:WAV、MP3,用 ASR 模型转文字
- 视频(新功能):MP4、AVI、MOV、MKV、WebM,输出 ASR 转写和代表性关键帧
- 其他:LaTeX、DocLang、纯文本、Box Notes、WebVTT 字幕
大多数同类工具只盯着 PDF。Docling 把音频、视频、邮件都纳入同一个入口,一个公司文档库基本能全覆盖。
PDF 是重头戏
解析 PDF 不是简单抽文字。Docling 会处理页面布局、阅读顺序、表格结构、代码块、公式,还会对图片做分类。扫描件和图片可以开 OCR,也可以接视觉语言模型(比如 HuggingFace 上的 GraniteDocling)。
导出格式里有个无损 JSON,布局和表格结构这些信息都保留着,下游想怎么取用都行。
行业 schema
除了通用格式,它还支持几个特定领域的 XML schema:USPTO 专利、JATS 学术文章、XBRL 财报。做专利分析、学术论文处理或者金融报告解析,这个功能很对路。
生态接入
- LangChain、LlamaIndex、Crew AI、Haystack 四个主流框架都有开箱即用的集成
- 有 MCP server,任何支持 MCP 的 agent 都能连
- docling-serve 可以把 Docling 跑成 API 服务
- 自带 CLI,简单场景命令行直接搞定
安装就一句:
pip install docling
CLI 具体参数和 Python API 用法 README 没展开,看官方文档:https://docling-project.github.io/docling/
几个我比较看重的点
一是完全本地运行。敏感数据不出机器,物理隔离的环境也能跑,这对企业场景是个硬需求。
二是有论文背书。主项目对应 arXiv 2408.09869,DocTags 表示格式也单独发了论文(arXiv 2503.11576),不是纯工程拼凑。
三是迭代速度。视频解析、XBRL、邮件、EPUB、Apple Pages、纯文本这些都是近期加的,格式清单还在变长。
需要注意的
本地跑意味着模型要下载到本机,OCR 和视觉模型对 GPU 有要求,纯 CPU 处理大文档会慢,具体资源需求参考官方文档。功能更新快是双刃剑,生产环境记得锁版本。遇到问题有 Discord 社区可以问。
一句话结论
如果你的项目需要“把一堆乱七八糟的文档塞进 LLM”,Docling 是目前格式覆盖最全、PDF 理解最深的开源选择之一。先试它,不行再换。