Docling 完整指南5 分钟把 PDF、DOCX 变成 AI 能读懂的结构化数据【免费下载链接】doclingGet your documents ready for gen AI项目地址: https://gitcode.com/GitHub_Trending/do/doclingDoclingDocling 文档解析是一个开源文档解析库由 Linux 基金会孵化核心任务是把 PDF、DOCX、XLSX、HTML、EPUB 等二十多种格式统一转成结构化的DoclingDocument——带标题层级、表格结构、公式、图像位置的中间表示可以直接喂给 RAG 和 LLM 流水线。这篇文章不讲功能清单而是用一个具体任务带你走完全程你拿到一批产品文档含扫描版 PDF 和带表格的 PDF要给团队的 RAG 知识库供货。从安装到产出可入库的文本块一共四步。这张图展示了 Docling 的整体链路所有格式进入同一条解析流水线产出统一的文档模型再按需导出成 Markdown、无损 JSON、DocLang XML或直接接入下游 AI 应用。对你来说这意味着一件事——无论上游文件长什么样下游代码只面对一种数据。任务准备Docling 安装步骤与两种上手方式用 uv 或 pip 二选一macOS、Linux、Windows 都支持注意 Python 需要 3.10 及以上# 安装 Docling官方推荐使用 uvpip 同样可用 uv tool install docling装完就有两个入口命令行最快出活。docling 报告.pdf会在当前目录生成一个.md文件结构化的内容直接可读Python API推荐用于集成。DocumentConverter一个类包打天下转换结果上挂着一堆导出方法。# Python 最小示例把本地文件转成结构化文档 from docling.document_converter import DocumentConverter converter DocumentConverter() result converter.convert(产品手册.pdf) print(result.document.export_to_markdown()) # 带标题层级的 Markdown注意两点首次转换会自动从 HuggingFace 下载布局、表格等模型离线机器要提前把模型挪进缓存另外 CLI 默认走的是 CPU 上的标准流水线后面会讲怎么调。基础解析扫描版 PDF 用 OCR表格 PDF 单独开增强这是整个任务里唯一的重头戏。Docling 处理 PDF 的默认流水线默认开着 OCR 和表格结构提取对应参数do_ocr和do_table_structure在PdfPipelineOptions里但按你的文档类型裁剪一下配置效果和时间都更好# 为扫描件 表格报告这类文档定制解析流水线 from docling.datamodel.backend_options import PdfPipelineOptions from docling.document_converter import DocumentConverter, Format options PdfPipelineOptions( do_ocrTrue, # 扫描件必须开 OCR需系统装好 Tesseract do_table_structureTrue, # 保留表格行列结构而不是拍平成文字 do_formula_enrichmentTrue, # 报告里有公式时识别并转成 LaTeX ) converter DocumentConverter(allowed_formats[Format.PDF], pipeline_optionsoptions) result converter.convert(季度报告.pdf)三个实用提醒扫描件OCR 默认用 Tesseract系统里要装好 Tesseract 二进制多语言场景如中英文混排可以在 OCR 选项里指定语言组合参考 docs/concepts/OCR.md。表格密集的报告标准表格结构模型之外仓库提供了 Granite Vision 视觉模型方案见示例 docs/examples/granite_vision_table_structure.py。追求更高保真CLI 可以直接切到视觉语言模型VLM流水线把整页当图像读出来docling --pipeline vlm --vlm-model granite_docling 文件.pdf。质量上限更高但速度慢一个量级适合精而不在多。进阶用置信度评分给 RAG 入库做质量门控批量转换最怕的不是全部失败而是大部分成功、少数悄悄出错。Docling 从 v2.34 起在转换结果上附带confidence字段对每一页和整份文档给出 0.0–1.0 的分数并折算成 POOR / FAIR / GOOD / EXCELLENT 四级评级覆盖布局识别、OCR、文本解析三个维度。这张图是置信度报告的实际形态你可以看到文档级和每页的分数与评级。对批量任务的直接用法就是设一条阈值——评级低于 FAIR 的文件自动进人工复核队列其余直接入库不用逐份人肉检查。接入 RAGDocling 分块与向量库对接文档转出来只是半成品RAG 还要分块。Docling 内置分层分块器HierarchicalChunker按文档自身的标题结构切块与块之间保留章节元数据比每 N 个 token 一刀切的朴素分块语义完整得多# 分块 组装进向量库每块带上章节路径元数据 from docling.chunking import HierarchicalChunker chunks list(HierarchicalChunker().chunk(result.document)) for c in chunks: text c.text meta c.meta.model_dump() # 含页码、章节层级等定位信息 # embeddings_client.add(text, metadatameta) # 换成你的向量库调用分块的更多玩法混合分块、按 token 上限裁剪见 docs/concepts/chunking.md 和 docs/examples/hybrid_chunking.ipynb。这张图展示了 Docling 在 AI 生态里的位置解析出的文档模型可以直连 LangChain、LlamaIndex、Haystack 等框架的加载器也能通过 MCP 服务器让任何 Agent 直接调用解析能力。也就是说文档 → 向量库这条路上它只占第一棒但这一棒的质量决定整条链路的上限。实战结论适合谁不适合谁以及几个坑真正值得用的三点本地运行所有解析在本地完成敏感文档不出内网这对合规场景是硬性价值无损 JSONexport_to_json()是结构完整保真的序列化可以当持久化格式反复消费可服务化团队规模变大时用docling-serve把解析能力部署成 HTTP 服务见 docs/usage/api_server/客户端不用各自装模型。局限也要心里有数默认流水线在 CPU 上处理大 PDF 较慢OCR 表格 公式全开更慢——官方建议只开自己用的功能GPU 部署参考 docs/usage/gpu.md 和 docs/examples/run_with_accelerator.pyOCR 依赖系统安装的 Tesseract首次运行要联网下模型完全离线环境需提前准备缓存手写体、严重模糊的扫描件模型也救不回来仍要人工兜底。人群速判RAG 开发者、要批量结构化文档的数据工程师——适合这正是它的主场合规、金融行业需要文档不出域的团队——适合只需要纯文本、不在乎结构的场景——不必轻量工具更快。从 docs/getting_started/quickstart.md 可以按图索骥地补全所有细节docs/examples/目录下还有按场景组织的示例代码需要哪段抄哪段。【免费下载链接】doclingGet your documents ready for gen AI项目地址: https://gitcode.com/GitHub_Trending/do/docling创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考