PDF、Word、HTML、Markdown、图片等文档解析工具MinerU和Docling
文章目录一多种文档解析意义二文档解析工具-MinerU2.1MinerU定位2.2 MinerU能干什么2.3 安装步骤2.3.2 CIL安装2.3 基本用法2.4 三种解析方式2.5 后端选择2.6 输出结果三文档解析工具-Docling3.1 Docling 定位3.2 Docling 能干什么3.3 安装步骤3.3.1 CLI 安装3.4 基本用法3.4.1 CLI 用法3.4.2 Python 用法3.5 PDF 解析配置3.6 输出结果3.7 文档分块3.7.1 HierarchicalChunker3.7.2 HybridChunker3.8 RAG 中的使用流程一多种文档解析意义我们需要把PDF、Word、HTML、Markdown、图片等不同文档解析成干净便于向量检索的文档。二文档解析工具-MinerU2.1MinerU定位MinerU 是一个文档解析引擎主要作用是把人类阅读的文档转换成机器容易处理的 Markdown、JSON 和图片。2.2 MinerU能干什么当前本地 CLI 文档明确列出的输入包括 PDF、图片、DOCX、PPTX、XLSX。2.3 安装步骤2.3.2 CIL安装# 创建虚拟环境uv venv .venv# 激活环境.venv\Scripts\Activate.ps1# 安装基础功能uv pipinstallmineru[core]# 检查安装mineru--versionmineru--help完整功能或源码开发可以使用gitclone https://github.com/opendatalab/MinerU.git Set-Location MinerU uv pipinstall-e.[all]2.3 基本用法纯 CPU 环境建议先使用 pipelinemineru-p.\samples\document.pdf-o.\output-bpipeline-mauto-lch参数含义参数作用-p输入文件或目录-o输出目录-b选择解析后端-m选择文字提取方式-lOCR 文档语言-s、-e指定开始页和结束页-t是否解析表格-f是否解析公式2.4 三种解析方式模式适用情况auto自动判断日常默认使用txtPDF 有完整且正常的文字层ocr扫描 PDF、图片 PDF、乱码 PDF示例# 自动判断mineru-pinput.pdf-ooutput-bpipeline-mauto# 强制直接提取文字mineru-pinput.pdf-ooutput-bpipeline-mtxt# 强制 OCRmineru-pinput.pdf-ooutput-bpipeline-mocr-lch2.5 后端选择后端特点建议pipeline传统解析流水线支持纯 CPU入门首选vlm-engine使用视觉语言模型复杂图文需要较多资源hybrid-engine结合多种解析能力GPU 环境和复杂文档vlm-http-client调用外部 VLM 服务服务化部署hybrid-http-client调用外部混合服务服务化部署当前版本的默认后端可能随版本变化因此以本机 mineru --help 为准。没有 GPU 时明确指定-bpipeline2.6 输出结果不同版本的具体文件名可能不同但主要有Markdown适合查看内容也可以用于简单分块。content list JSON按照阅读顺序保存标题、正文、表格、图片等元素最适合后续构建 RAG。middle JSON包含更详细的中间解析和版面信息适合排查问题。images从文档中提取的图片。可视化结果用于检查版面框和元素识别是否正确。RAG 中建议以 content list JSON 为主因为它比单纯 Markdown 更容易保留页码、类型和位置信息。三文档解析工具-Docling3.1 Docling 定位Docling 是一个多格式文档解析、转换和分块框架。它会把不同格式的文件统一转换成结构化的DoclingDocument。DoclingDocument可以继续导出为 Markdown、JSON、HTML或者直接进行 RAG 分块。Docling 支持完全本地运行文档不需要上传到云端。3.2 Docling 能干什么Docling 支持的主要输入格式包括 PDF、DOCX、PPTX、XLSX、HTML、Markdown、图片、EPUB、LaTeX、纯文本、邮件和部分音频格式。Docling 可以识别和保留以下内容内容解析结果标题保留标题及层级正文提取段落和阅读顺序列表保留列表结构表格识别行、列和单元格图片提取图片和图片标题扫描文字通过 OCR 识别公式和代码保留对应内容类型元数据保存来源、页码和位置信息3.3 安装步骤3.3.1 CLI 安装# 创建虚拟环境uv venv.venv# 激活虚拟环境.venv\Scripts\Activate.ps1# 安装 Doclinguv pip install docling# 检查安装docling--version docling--help使用 HuggingFace tokenizer 进行 RAG 分块时可以安装uv pip installdocling-core[chunking]3.4 基本用法3.4.1 CLI 用法转换成 Markdowndocling.\samples\document.pdf--to md--output.\output转换成 JSONdocling.\samples\document.pdf--to json--output.\output--to用于指定输出格式--output用于指定输出目录。3.4.2 Python 用法fromdocling.document_converterimportDocumentConverter converterDocumentConverter()resultconverter.convert(./samples/document.pdf)docresult.document markdowndoc.export_to_markdown()datadoc.export_to_dict()htmldoc.export_to_html()result.document是统一的DoclingDocument。后续导出、遍历元素和分块都基于这个对象进行。3.5 PDF 解析配置包含扫描页面和表格的 PDF可以启用 OCR 和表格结构识别fromdocling.datamodel.base_modelsimportInputFormatfromdocling.datamodel.pipeline_optionsimportPdfPipelineOptionsfromdocling.document_converterimportDocumentConverter,PdfFormatOption optionsPdfPipelineOptions(do_ocrTrue,do_table_structureTrue,)converterDocumentConverter(format_options{InputFormat.PDF:PdfFormatOption(pipeline_optionsoptions)})resultconverter.convert(./samples/document.pdf)docresult.document常用配置参数作用do_ocr对扫描页面和图片文字执行 OCRdo_table_structure识别表格行列和单元格结构generate_page_images生成完整页面图片generate_picture_images提取文档中的图片区域images_scale控制生成图片的清晰度do_picture_description使用视觉模型生成图片描述提取文档中的图片options.generate_picture_imagesTrueoptions.images_scale2.03.6 输出结果Docling 主要支持以下输出输出作用Markdown人工查看、结果校验和简单处理JSON保存完整的DoclingDocument结构HTML在网页中展示解析结果DocTagsDocling 使用的结构化标记格式DoclingDocument用于程序处理和 RAG 分块markdowndoc.export_to_markdown()json_datadoc.export_to_dict()htmldoc.export_to_html()doctagsdoc.export_to_doctags()RAG 项目建议直接使用DoclingDocument进行分块不需要先导出 Markdown 再重新解析。3.7 文档分块3.7.1 HierarchicalChunkerHierarchicalChunker根据标题、段落、列表、表格等文档结构进行分块。fromdocling.chunkingimportHierarchicalChunker chunkerHierarchicalChunker()chunkslist(chunker.chunk(doc))forchunkinchunks:print(chunk.text)3.7.2 HybridChunkerHybridChunker先按照文档结构分块再根据 tokenizer 控制 chunk 长度。超长内容会被拆分相邻且较短的同级内容可以合并。fromdocling.chunkingimportHybridChunkerfromdocling_core.transforms.chunker.tokenizer.huggingfaceimport(HuggingFaceTokenizer,)tokenizerHuggingFaceTokenizer.from_pretrained(model_nameBAAI/bge-m3,max_tokens512,)chunkerHybridChunker(tokenizertokenizer,merge_peersTrue,)chunkslist(chunker.chunk(doc))forchunkinchunks:embedding_textchunker.contextualize(chunk)print(chunk.meta.headings)print(embedding_text)分块器适用情况HierarchicalChunker强调标题和文档元素结构HybridChunker同时控制结构和 token 长度适合 RAG3.8 RAG 中的使用流程PDF、Word、HTML、Markdown、图片 ↓ DocumentConverter ↓ DoclingDocument ↓ HybridChunker ↓ BGE-M3 向量化 ↓ Milvus建议向量化chunker.contextualize(chunk)的结果。入库时保存正文、标题路径、页码、来源、内容类型和文档 ID。Markdown 主要用于人工检查JSON 用于保存完整解析结果DoclingDocument和 Chunker 用于正式的 RAG 入库流程。官方资料Docling 官方文档、Docling GitHub。

相关新闻

LangChain Go应用安全实战:7大关键策略防御提示词注入与资源滥用

LangChain Go应用安全实战:7大关键策略防御提示词注入与资源滥用

1. 项目概述:为什么LangChain Go应用需要专门的安全防护?最近在几个Go语言技术社区里,看到不少朋友在讨论用LangChain框架结合Go来开发AI应用。大家聊得热火朝天,都在说怎么快速集成大模型、怎么设计Agent流程、怎么提升RAG的召回…

2026/7/21 6:06:49阅读更多 →
Python高效处理CSV数据的实战技巧与性能优化

Python高效处理CSV数据的实战技巧与性能优化

1. CSV数据处理的核心价值与痛点在数据密集型工作场景中,CSV格式始终保持着不可替代的地位。作为数据交换的"通用语言",CSV文件以纯文本形式存储表格数据的特点,使其在数据分析、系统迁移、报表导出等场景中展现出独特的优势。我处…

2026/7/21 6:06:49阅读更多 →
文件夹批量创建工具支持同级和多层级

文件夹批量创建工具支持同级和多层级

软件介绍 这款叫FoldersMaker,老读者可能眼熟了,这工具之前介绍过一次。它是吾爱大佬namejm原创开发的批量创建文件夹神器,大小仅1.26M,解压后也才4.5M,但功能相当强悍。软件是绿色版,双击FoldersMaker.ex…

2026/7/21 6:06:49阅读更多 →
Yum包管理器核心原理与高效运维实战

Yum包管理器核心原理与高效运维实战

1. Yum包管理器概述在Red Hat系Linux发行版中,yum(Yellowdog Updater Modified)作为经典的RPM包管理前端工具,承担着软件依赖解析和自动化安装的核心职能。不同于直接操作rpm命令时令人头疼的依赖地狱,yum通过维护仓库…

2026/7/22 5:02:36阅读更多 →
C++实现凯撒密码:从古典算法到现代工程实践

C++实现凯撒密码:从古典算法到现代工程实践

1. 项目概述:从古典密码到现代编程实践凯撒密码,这个名字听起来就带着一股历史的厚重感。它可能是很多人接触密码学的第一个概念,简单到用一张纸和一支笔就能完成加密和解密。但今天,我们不是要重温历史课,而是要用现代…

2026/7/22 5:02:36阅读更多 →
Yum包管理器详解:从基础使用到企业级实践

Yum包管理器详解:从基础使用到企业级实践

1. Yum包管理器概述在Red Hat系Linux发行版中,yum(Yellowdog Updater Modified)作为经典的RPM包管理前端工具,承担着软件依赖解析和自动化安装的核心职能。不同于直接操作rpm命令时令人头疼的依赖地狱,yum通过维护仓库…

2026/7/22 5:02:36阅读更多 →
Linux下使用PyBind11实现Python高效调用C++类完整指南

Linux下使用PyBind11实现Python高效调用C++类完整指南

1. 项目概述:为什么要在Linux上搞Python与C协作?如果你是一个在Linux环境下搞开发的,无论是做算法、系统工具还是高性能计算,大概率都遇到过这样的场景:核心的计算模块用C写得飞起,但上层应用、数据分析或者…

2026/7/22 5:02:36阅读更多 →
影刀RPA 系统通知与消息提醒:流程执行结果推送

影刀RPA 系统通知与消息提醒:流程执行结果推送

影刀RPA 系统通知与消息提醒:流程执行结果推送 作者:林焱 流程跑完了你不知道,跑出错了你也不知道——这是RPA新手最常遇到的问题。你在工位上忙别的事,流程在后台默默跑着,失败了也没人管,等发现时已经耽误…

2026/7/22 5:02:36阅读更多 →
环保激光气体检测与传统方法有什么区别?

环保激光气体检测与传统方法有什么区别?

环保激光气体检测与传统方法的区别核心结论: 激光气体检测技术,尤其是基于TDLAS(可调谐半导体激光吸收光谱)的方法,在环保领域中相较于传统检测手段如电化学、催化燃烧等,具有更高的选择性、灵敏度以及更长…

2026/7/22 5:00:36阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 0:53:59阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 0:53:59阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 0:53:59阅读更多 →
中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业小程序开发公司怎么选:预算、上手和售后避坑指南

中小企业做小程序,最常见的矛盾是预算有限,但又不希望功能太单薄;没有技术团队,但又希望后续能自己运营;想快速上线,又担心隐性收费和售后失联。选型时如果只看“低价套餐”或“案例数量”,很容…

2026/7/22 0:01:17阅读更多 →
GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

GEO优化如何沉淀长期内容资产?广拓时代谈AI搜索时代的内容ROI

企业做营销,最怕钱花完了,资产没有留下。 效果广告能带来一段时间的曝光,但预算停止后,流量往往也随之停止。短视频内容可能在几天内冲高,也可能很快沉下去。AI搜索时代,企业需要重新思考一个问题&#xff…

2026/7/22 0:01:17阅读更多 →
Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复

Agent 终态判定:何时该停止思考、给出最终回复 一、你的 Agent 在"再想想"的循环里绕了 12 轮,用户已经关窗口了 Agent 与人最大的区别是:人知道什么时候该停下来给答案,Agent 会一直"想"下去。你给 Agent 接…

2026/7/22 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/21 22:53:50阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →