核心结论先说: 主流大模型原生解析 PDF,处理一份 100 页财报要消耗 6 万~12 万 token,成本 $0.3~$2.5。MinerU 预处理之后,同样的任务压缩到 8,000~15,000 token,而且 MinerU 本身完全免费。

一、主流方案的真实 Token 账单

先把市面上主流的「PDF 解析」路线梳理清楚,再看成本。

以一份 100 页 A 股年报(含大量表格、双栏排版)为基准测试对象:
 

方案

解析方式

Token 消耗/份

单价参考

**成本/份**

GPT-4o 原生(图片上传)

每页截图 → Vision

~110,000

$5/1M token

~$0.55

Claude 3.5 Sonnet 原生

PDF 直传

~95,000

$3/1M token

~$0.29

Gemini 1.5 Pro 原生

PDF 直传

~80,000

$3.5/1M token

~$0.28

Azure Document Intelligence

专用 OCR API

按页计费

$0.01/页

$1.00

MinerU + GPT-4o

本地解析 → Markdown → LLM

~12,000

$5/1M token

~$0.06

MinerU + GPT-4o-mini

本地解析 → Markdown → LLM

~12,000

$0.15/1M token

~$0.002

Token 数据来源:实测 20 份真实年报取均值;大模型单价参考 2025Q4 官网定价。

一句话结论: 用 MinerU 预处理之后,喂给 LLM 的 token 量降低 7~9 倍,成本降低 90%+。

二、为什么原生多模态这么"贵"?

根本原因是图片 token 的计价逻辑。

以 GPT-4o 为例,一张 1080p 图片消耗约 765~1,105 token,100 页 PDF = 100 张图片 = 10 万+ token 起步,还没加上你的 prompt。

# GPT-4o 图片 token 计算公式(官方)
tiles = ceil(width/512) * ceil(height/512)
tokens = 85 + 170 * tiles
# 1080p 图片(1920x1080)
tiles = 4 * 3 = 12
tokens = 85 + 170 * 12 = 2,125 tokens/张
# 100 页 PDF = 212,500 tokens(仅图片部分)

Claude 和 Gemini 虽然支持原生 PDF 直传,省去了截图步骤,但底层同样是把每页渲染成视觉 token 处理,本质开销没有减少。
MinerU 做的事情是:在进 LLM 之前,把「视觉信息」转换成「文本信息」。文本 token 的信息密度远高于图片 token,同样的内容,文本表达只需要图片的 1/7~1/10 的 token 量。

三、精度对比:省钱的同时,准不准?

Token 少了,但有没有丢信息?重点测了最容易出错的两类内容:

表格提取准确率(以人工校对为基准):

方案

简单表格

合并单元格

跨页表格

嵌套表格

GPT-4o 原生

94%

81%

43%

67%

Claude 3.5 原生

92%

78%

51%

63%

Gemini 1.5 原生

90%

76%

48%

61%

MinerU + 任意 LLM

98%

95%

91%

89%

跨页表格是原生多模态最明显的短板——它"看"每一页时是孤立的,不知道上一页的表格还没结束。MinerU 的版式分析模型会先识别整份文档的结构,再做内容提取,跨页拼接准确率高出近 2 倍。

四、MinerU 本身免费,生态还在快速扩张

MinerU 是上海人工智能实验室开源的项目,Apache 2.0 协议,永久免费,没有调用限制,没有云端依赖。

现在围绕它已经形成了一套可以直接用的工具链:

① MinerU MCP Server — 让 AI Agent 直接调用

# 安装 MCP Server
pip install mineru-mcp

# Claude Desktop 配置(claude_desktop_config.json)
{
  "mcpServers": {
    "mineru": {
      "command": "mineru-mcp",
      "args": ["--host", "localhost", "--port", "8080"]
    }
  }
}

配置完成后,Claude / Cursor / Cline 可以直接说:
"帮我解析这份财报,提取所有财务指标" ——Agent 自动调用 MinerU,拿到结构化 Markdown 再做分析。

② 命令行批处理 — 一行命令处理整个文件夹

# 安装
pip install mineru

# 批量解析(支持 PDF / 图片)
mineru -p ./annual_reports/ -o ./parsed/ -m auto

# 参数说明
# -m auto   : 自动判断是否需要 OCR
# -m ocr    : 强制走 OCR(扫描件)
# -m txt    : 纯文本 PDF,跳过视觉模型,速度最快

③ Python SDK — 嵌入自己的 pipeline

from magic_pdf.pipe.UNIPipe import UNIPipe
from magic_pdf.data.data_reader_writer import FileBasedDataWriter, FileBasedDataReader
from magic_pdf.data.dataset import PymuDocDataset

def parse_to_markdown(pdf_path: str) -> str:
    reader = FileBasedDataReader("")
    pdf_bytes = reader.read(pdf_path)
    ds = PymuDocDataset(pdf_bytes)

    writer = FileBasedDataWriter("./output")
    pipe = UNIPipe(ds, {"_pdf_type": "", "model_list": []}, writer)
    pipe.pipe_classify()
    pipe.pipe_analyze()
    pipe.pipe_parse()
    pipe.pipe_mk_markdown("./output/result.md")

    with open("./output/result.md") as f:
        return f.read()

# 拿到 Markdown 后,送给任意 LLM
md_content = parse_to_markdown("./report.pdf")

④ RAG 直通车 — 解析结果直接入向量库

from langchain.text_splitter import MarkdownHeaderTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma

#### MinerU 输出的 Markdown 天然适合按标题切块
splitter = MarkdownHeaderTextSplitter(
    headers_to_split_on=[
        ("#", "H1"), ("##", "H2"), ("###", "H3")
    ]
)

md_content = parse_to_markdown("./annual_report.pdf")
chunks = splitter.split_text(md_content)

#### 入库
vectorstore = Chroma.from_documents(
documents=chunks,
embedding=OpenAIEmbeddings(),
persist_directory="./chroma_db"
)

print(f"入库完成,共 {len(chunks)} 个 chunk")

五、什么时候不用 MinerU?

临时查一份文档:不想装环境,直接上传给 Claude / ChatGPT,够用

文档里有大量自定义图表:MinerU 会提取图表为图片,但图表里的数字含义

六、总结:选它的三个理由

① 免费且可本地部署。 数据不出机器,没有并发限制,没有月费。

② Token 成本降 90%。批量处理时这个差距会被指数级放大——每天 1,000 份文档,一年省下来是真金白银。

③ Agent 生态完备。MCP Server、CLI、Python SDK、RAG 集成,现在主流的 AI 工作流都能无缝接入。

文档解析这件事,MinerU 已经把该踩的坑踩完了,直接用就好。

开源地址: https://github.com/opendatalab/MinerU

文档: https://mineru.readthedocs.io

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐