面向大模型工作流的文档解析:从OCR到MinerU的深度技术指南

你是否遇到过这样的情况:想用RAG从一份扫描版的年度财报中提取关键数据,结果大模型输出了一堆断裂的文本,表格和标题都乱了?或者,你想让AI Agent帮你总结一篇双栏排版的学术论文,但它给出的答案逻辑混乱,完全分不清哪个是正文、哪个是页眉?

问题的根源,很可能出在最基础的环节------文档解析

很多人认为,OCR(光学字符识别)就等同于"把图片变成文字"。但在大模型时代,我们需要的远不止于此。我们需要的是文档结构

这就是我们今天要深入探讨的主题:OCR 如何与 MinerU 这样的文档解析工具组合,共同构建大模型(LLM)可理解、可使用的结构化知识

引言:字面含义 vs. 真实需求

如果只看字面含义,OCR 的任务很清楚:把图片或扫描件里的文字识别出来。

但在大模型应用里,用户真正需要的往往不是"文字识别结果",而是**"可以被模型使用的文档结构"**。一份论文、合同、财报、招股书或扫描 PDF,不只是由字符组成,还包含标题层级、阅读顺序、表格、公式、图片、脚注、图注、页眉页脚和页面布局。

这就是 OCR 与 MinerU 需要组合起来讨论的原因

一句话总结核心观点:

OCR 解决的是"看见文字"的问题;MinerU 更适合解决"把复杂文档编译成结构化知识"的问题。两者不是简单替代关系,而是上下游关系、互补关系和工程组合关系。

更准确地说:

OCR 是文档智能链路里的识别层,MinerU 是面向大模型工作流的文档解析与结构化层。


1. OCR 到底负责什么?

一个典型的 OCR 系统通常包含以下几个基础环节:
#mermaid-svg-jmTzYgFFZHKCtcEd{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-jmTzYgFFZHKCtcEd .error-icon{fill:#552222;}#mermaid-svg-jmTzYgFFZHKCtcEd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-jmTzYgFFZHKCtcEd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-jmTzYgFFZHKCtcEd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-jmTzYgFFZHKCtcEd .marker.cross{stroke:#333333;}#mermaid-svg-jmTzYgFFZHKCtcEd svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-jmTzYgFFZHKCtcEd p{margin:0;}#mermaid-svg-jmTzYgFFZHKCtcEd .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster-label text{fill:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster-label span{color:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster-label span p{background-color:transparent;}#mermaid-svg-jmTzYgFFZHKCtcEd .label text,#mermaid-svg-jmTzYgFFZHKCtcEd span{fill:#333;color:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd .node rect,#mermaid-svg-jmTzYgFFZHKCtcEd .node circle,#mermaid-svg-jmTzYgFFZHKCtcEd .node ellipse,#mermaid-svg-jmTzYgFFZHKCtcEd .node polygon,#mermaid-svg-jmTzYgFFZHKCtcEd .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-jmTzYgFFZHKCtcEd .rough-node .label text,#mermaid-svg-jmTzYgFFZHKCtcEd .node .label text,#mermaid-svg-jmTzYgFFZHKCtcEd .image-shape .label,#mermaid-svg-jmTzYgFFZHKCtcEd .icon-shape .label{text-anchor:middle;}#mermaid-svg-jmTzYgFFZHKCtcEd .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-jmTzYgFFZHKCtcEd .rough-node .label,#mermaid-svg-jmTzYgFFZHKCtcEd .node .label,#mermaid-svg-jmTzYgFFZHKCtcEd .image-shape .label,#mermaid-svg-jmTzYgFFZHKCtcEd .icon-shape .label{text-align:center;}#mermaid-svg-jmTzYgFFZHKCtcEd .node.clickable{cursor:pointer;}#mermaid-svg-jmTzYgFFZHKCtcEd .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-jmTzYgFFZHKCtcEd .arrowheadPath{fill:#333333;}#mermaid-svg-jmTzYgFFZHKCtcEd .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-jmTzYgFFZHKCtcEd .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-jmTzYgFFZHKCtcEd .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jmTzYgFFZHKCtcEd .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-jmTzYgFFZHKCtcEd .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jmTzYgFFZHKCtcEd .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster text{fill:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd .cluster span{color:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-jmTzYgFFZHKCtcEd .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-jmTzYgFFZHKCtcEd rect.text{fill:none;stroke-width:0;}#mermaid-svg-jmTzYgFFZHKCtcEd .icon-shape,#mermaid-svg-jmTzYgFFZHKCtcEd .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-jmTzYgFFZHKCtcEd .icon-shape p,#mermaid-svg-jmTzYgFFZHKCtcEd .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-jmTzYgFFZHKCtcEd .icon-shape .label rect,#mermaid-svg-jmTzYgFFZHKCtcEd .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-jmTzYgFFZHKCtcEd .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-jmTzYgFFZHKCtcEd .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-jmTzYgFFZHKCtcEd :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 图片/扫描页
图像预处理
文本检测
文本识别
输出: 文本框、字符、置信度、坐标

在这个链路里,OCR 的核心输出通常是:

  • 识别出的文本
  • 文本所在位置(边界框坐标)
  • 行、段或文本框坐标
  • 置信度
  • 语言、方向或页面角度等辅助信息

这类输出非常适合解决基础识别问题,例如扫描件转文字、图片文字抽取、移动端拍照识别、票据识别等。

但 OCR 本身并不天然解决以下问题:

  • 语义理解: 哪些文本是标题,哪些是正文?
  • 版式还原: 多栏论文应该按什么顺序阅读?
  • 噪声过滤: 页眉、页脚和页码是否应该进入正文?
  • 复杂元素: 表格的行列结构如何恢复?公式应该如何转成 LaTeX?
  • 元素关联: 图片、图表和图注之间是什么关系?
  • 下游适配: 输出结果能不能直接进入 RAG、知识库或 Agent?

所以,对复杂文档来说,OCR 是必要能力,但不是完整答案


2. MinerU 负责什么?

MinerU 的公开定位是高精度文档解析工具,支持 PDF、图片、DOC、DOCX、PPT、PPTX、XLS、XLSX 等文档解析,并生成 Markdown、JSON 等结构化结果。

从工程视角看,MinerU 更像一个文档解析编译器。它的任务不是只把字识别出来,而是尽可能把文档还原成下游系统(如RAG、Agent)可用的结构化内容。

可以把 MinerU 的能力抽象成下面这条链路:
#mermaid-svg-alhh8qOmYfYoxeHR{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-alhh8qOmYfYoxeHR .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-alhh8qOmYfYoxeHR .error-icon{fill:#552222;}#mermaid-svg-alhh8qOmYfYoxeHR .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-alhh8qOmYfYoxeHR .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-alhh8qOmYfYoxeHR .marker{fill:#333333;stroke:#333333;}#mermaid-svg-alhh8qOmYfYoxeHR .marker.cross{stroke:#333333;}#mermaid-svg-alhh8qOmYfYoxeHR svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-alhh8qOmYfYoxeHR p{margin:0;}#mermaid-svg-alhh8qOmYfYoxeHR .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-alhh8qOmYfYoxeHR .cluster-label text{fill:#333;}#mermaid-svg-alhh8qOmYfYoxeHR .cluster-label span{color:#333;}#mermaid-svg-alhh8qOmYfYoxeHR .cluster-label span p{background-color:transparent;}#mermaid-svg-alhh8qOmYfYoxeHR .label text,#mermaid-svg-alhh8qOmYfYoxeHR span{fill:#333;color:#333;}#mermaid-svg-alhh8qOmYfYoxeHR .node rect,#mermaid-svg-alhh8qOmYfYoxeHR .node circle,#mermaid-svg-alhh8qOmYfYoxeHR .node ellipse,#mermaid-svg-alhh8qOmYfYoxeHR .node polygon,#mermaid-svg-alhh8qOmYfYoxeHR .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-alhh8qOmYfYoxeHR .rough-node .label text,#mermaid-svg-alhh8qOmYfYoxeHR .node .label text,#mermaid-svg-alhh8qOmYfYoxeHR .image-shape .label,#mermaid-svg-alhh8qOmYfYoxeHR .icon-shape .label{text-anchor:middle;}#mermaid-svg-alhh8qOmYfYoxeHR .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-alhh8qOmYfYoxeHR .rough-node .label,#mermaid-svg-alhh8qOmYfYoxeHR .node .label,#mermaid-svg-alhh8qOmYfYoxeHR .image-shape .label,#mermaid-svg-alhh8qOmYfYoxeHR .icon-shape .label{text-align:center;}#mermaid-svg-alhh8qOmYfYoxeHR .node.clickable{cursor:pointer;}#mermaid-svg-alhh8qOmYfYoxeHR .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-alhh8qOmYfYoxeHR .arrowheadPath{fill:#333333;}#mermaid-svg-alhh8qOmYfYoxeHR .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-alhh8qOmYfYoxeHR .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-alhh8qOmYfYoxeHR .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-alhh8qOmYfYoxeHR .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-alhh8qOmYfYoxeHR .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-alhh8qOmYfYoxeHR .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-alhh8qOmYfYoxeHR .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-alhh8qOmYfYoxeHR .cluster text{fill:#333;}#mermaid-svg-alhh8qOmYfYoxeHR .cluster span{color:#333;}#mermaid-svg-alhh8qOmYfYoxeHR div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-alhh8qOmYfYoxeHR .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-alhh8qOmYfYoxeHR rect.text{fill:none;stroke-width:0;}#mermaid-svg-alhh8qOmYfYoxeHR .icon-shape,#mermaid-svg-alhh8qOmYfYoxeHR .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-alhh8qOmYfYoxeHR .icon-shape p,#mermaid-svg-alhh8qOmYfYoxeHR .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-alhh8qOmYfYoxeHR .icon-shape .label rect,#mermaid-svg-alhh8qOmYfYoxeHR .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-alhh8qOmYfYoxeHR .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-alhh8qOmYfYoxeHR .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-alhh8qOmYfYoxeHR :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} PDF/图片/Office文档
文档类型判断与页面解析
OCR/版面分析/元素检测
阅读顺序恢复
表格/公式/图片等复杂元素结构化
输出: Markdown/JSON/HTML/LaTeX/图片资源
RAG/Agent/知识库

这意味着 MinerU 的价值不只在 OCR 层,而在 OCR 之后的结构化层

对大模型应用来说,这个结构化层非常关键。因为 RAG 和 Agent 不适合直接消费一堆无结构文本,它们更需要:

  • 清晰的标题层级 (#, ##, ###)
  • 正确的段落顺序
  • 可切分的 Markdown
  • 可程序读取的 JSON
  • 可还原的表格 (Markdown Table / HTML)
  • 可计算和引用的公式 (LaTeX)
  • 可追溯的图片资源 (Base64或文件路径)
  • 能被 API、SDK、CLI、MCP 调用的工程接口

3. 差异对比:单独 OCR vs. OCR + MinerU

能力点 单独 OCR OCR + MinerU
文字识别
坐标信息 通常支持 可作为版面理解基础
阅读顺序 ,尤其是多栏和复杂排版 ,更适合恢复人类阅读顺序
标题层级 通常需要复杂的后处理 ,更适合输出结构化层级
表格结构 容易碎成文本 ,更适合保留表格结构
公式识别 通常较弱 ,更适合输出 LaTeX 等结构形式
图片与图注 通常需要额外规则关联 ,更适合保留文档元素关系
输出格式 Text / hOCR / TSV 等 Markdown / JSON / HTML / LaTeX
RAG 入库 需要大量清洗和重构 更接近可直接入库
Agent 调用 需要自行封装 可通过 API / SDK / MCP 直接接入

所以,OCR 与 MinerU 的组合不是"识别两次",而是把 OCR 的识别结果放进更完整的文档结构化流程中。


4. 三种典型组合方式(工程实战)

在真实工程里,OCR 与 MinerU 可以有三种组合方式。

4.1 方式一:MinerU 作为端到端解析入口(最推荐)

这是最直接、最高效的方式。用户把 PDF、图片或 Office 文档交给 MinerU,由 MinerU 一站式完成文档解析,并输出结构化结果。

text 复制代码
原始文档 → MinerU → Markdown/JSON/Images → Chunk/Index/Retrieve → RAG/Agent

适合场景:

  • PDF 转 Markdown
  • 扫描 PDF 解析
  • 论文、合同、研报和财报解析
  • RAG 入库前的数据准备
  • Agent 调用文档解析能力

推荐: 对于大多数复杂文档解析场景,应该优先评估这条路径。

4.2 方式二:OCR 作为前置分流与质量检测(大规模系统)

在大规模文档系统里,OCR 可以先做低成本分流,判断文档类型,避免所有文档都走昂贵的深度解析。

text 复制代码
文档进入系统 → 文件类型识别 → OCR/文本层预检 → 判断是否复杂/扫描/低质量
                                                ↓
                                    复杂文档 → 进入 MinerU 深度解析
                                    简单文档 → 走轻量索引

适合场景:

构建本地知识库、企业文档中心或批量文档处理平台。

4.3 方式三:OCR 作为专项补充能力(业务集成)

有些场景里,业务已有专用 OCR(如票据、证件OCR)。这时可以将OCR结果作为辅助信息,MinerU负责文档整体结构化。

text 复制代码
业务专用OCR → 提供字段、置信度、坐标
                ↓
MinerU文档解析 → 提供Markdown、JSON、表格、公式、图片
                ↓
            业务系统合并结果

适合场景: 企业业务系统,专用OCR负责特定字段,MinerU负责复杂文档结构和大模型可用内容。


5. 技术上最容易被忽略的4个问题

OCR 与 MinerU 组合时,真正难的不是"接一个 API",而是如何避免链路错误累积

5.1 不要把 OCR 文本当成唯一真相

传统 OCR 输出往往是一段文本,但复杂文档里的信息不只在文本里。更好的做法是把 OCR 输出视为识别层结果 ,把 MinerU 的 Markdown/JSON 作为文档结构化最终结果

5.2 不要重复 OCR

如果文档已经由 MinerU 完成解析,就不应该再对 Markdown 或截图做二次 OCR。建议基于文档哈希做解析缓存。

5.3 不要只评估 OCR 准确率 (CER/WER)

在复杂文档场景里,还需要评估:

  • 阅读顺序是否正确?
  • 标题层级是否保留?
  • 表格结构是否可用?
  • 公式是否可还原为LaTeX?
  • 图片和图注是否对应?
  • Markdown/JSON 是否适合下游使用?
5.4 不要对所有文件都走高成本深度解析

真实系统里,文档量可能极大。更合理的是分层处理:

文档状态 推荐处理方式
普通文本文件 (.txt, .md) 轻量抽取和全文索引
原生PDF (有文本层) 先抽文本层,再判断是否需要深度解析
扫描PDF (无文本层) 进入 OCR + MinerU 结构解析
含表格、公式、论文类文档 优先进入 MinerU 深度解析
高敏感文件 优先本地处理
需要高精度恢复的复杂文档 用户确认后走云端高精度解析

6. 与典型 OCR 工具的技术对比

从技术定位看,Tesseract、PaddleOCR 和 MinerU 可以代表三个层级。

工具 定位 优势 局限
Tesseract 传统 OCR 引擎 成熟、开源、本地化、语言覆盖广 不负责复杂文档结构恢复
PaddleOCR OCR与文档智能工具箱 功能全面,含版面/表格/公式分析 在复杂PDF转Markdown、与LLM生态集成方面,接入成本较高
MinerU 面向 LLM 的文档解析基础设施 输出直接适配RAG/Agent,Markdown/JSON质量高,生态集成好 相对较新,部分细分领域可能仍在迭代

结论: 如果只需要图片识字,Tesseract等传统工具足够;但如果需要让复杂文档进入大模型工作流,MinerU是更优的基础设施选择


7. 推荐的技术评测指标(四层体系)

如果要评估 OCR 与 MinerU 的组合价值,建议建立以下分层指标:

  1. OCR 层指标: CER, WER, 检测框准确率等。
  2. 文档结构层指标: 阅读顺序准确率,布局元素F1值,页眉页脚过滤质量。
  3. 复杂元素层指标: 表格结构准确率,公式LaTeX转换准确率,图片提取质量。
  4. 下游应用层指标(最重要): Markdown可用性,Chunk质量,RAG检索质量,引用可追溯性。

8. 一个更合理的生产架构(分层设计)

text 复制代码
【文件接入层】 → 上传、扫描、API导入
      ↓
【文档预检层】 → 文件类型、大小、文本层、扫描比例、敏感策略
      ↓
【轻量索引层】 → 元数据、全文索引、基础标签 (Elasticsearch, Qdrant...)
      ↓
【深度解析层】 → MinerU 本地解析 / MinerU 云端高精度解析
      ↓
【结果存储层】 → Markdown, JSON, HTML, LaTeX, 图片资源, 解析日志
      ↓
【应用服务层】 → 搜索、RAG、Agent API、MCP、知识库

核心原则: 能轻量处理的文档不强制深度解析,真正复杂和高价值的文档再进入 MinerU 深度解析。


9. 总结

OCR 与 MinerU 的关系,可以用一句话概括:

OCR 把文字从图像里识别出来,MinerU 把复杂文档编译成大模型可用的结构化知识。

如果只做 OCR,系统得到的是文本 ;如果把 OCR 与 MinerU 组合起来,系统得到的是更接近知识资产的 Markdown、JSON、表格、公式、图片和结构关系。

这对 RAG、Agent 和知识库有直接意义:

  • 检索更容易命中正确片段
  • 切块更不容易打断语义
  • 表格和公式信息不丢失
  • 文档来源更容易追溯
  • 本地与云端可按需选择

因此,MinerU 不应该被放在"传统 OCR 工具"的窄框里理解。它更适合被定位为:

连接 OCR 与大模型应用的复杂文档解析层。

当用户只需要图片识字,传统 OCR 工具就足够;当用户需要让论文、合同、财报、扫描 PDF 进入 RAG、Agent 和知识库,OCR 与 MinerU 的组合才是更完整的工程答案


参考资料


你在处理PDF转Markdown或构建RAG时,遇到过哪些文档解析的"坑"?欢迎在评论区分享你的经验和解决方案!如果觉得本文有帮助,请点赞、收藏、转发支持一下~

相关推荐
TechWayfarer3 小时前
IP画像在企业安全中的应用:它能做什么?不能替代什么
网络·python·tcp/ip·安全·网络安全
NOVAnet20234 小时前
SASE 透明模式:非侵入式部署,实现企业网络架构无感升级
网络·架构·零信任·sd-wan·sase
天启HTTP4 小时前
开启全局代理后网络变慢,问题出在哪
开发语言·前端·网络·tcp/ip·php
信息安全失业大专人员4 小时前
网络可靠性之战——物理检测与网络逻辑检测
网络
科技风向标go4 小时前
QYResearch联合发布:《2026室外网络摄像头行业白皮书》格行视精灵成用户室外硬核环境首选监控
大数据·网络·安全·监控·户外安防
Inhand陈工5 小时前
映翰通IG502实战:通过RS232采集交通信号灯数据,实现自动短信告警
网络·嵌入式硬件·物联网·网络安全·边缘计算·信息与通信·信号处理
weixin_604236675 小时前
华三 二层交换机 企业完整正式版配置
运维·网络·华为·华为交换机命令
hai3152475435 小时前
libcore_final.c —— 九章数流矩阵系统
linux·运维·网络
刘哥测评技术zcwz6265 小时前
海外动态IP和静态IP需要怎么选择
网络·网络协议·tcp/ip