GPT-4o / Claude / Gemini 原生读 PDF,究竟在偷偷烧多少 Token?

0 阅读4分钟

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

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

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

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

| 方案 | 解析方式 | Token 消耗/份 | 单价参考 | **成本/份** | | --- | --- | --- | --- | --- | | GPT-4o 原生(图片上传) | 每页截图 → Vision | ~110,000 | 5/1Mtoken 5/1M token | ~0.55 | | Claude 3.5 Sonnet 原生 | PDF 直传 | ~95,000 | 3/1Mtoken 3/1M token | ~0.29 | | Gemini 1.5 Pro 原生 | PDF 直传 | ~80,000 | 3.5/1Mtoken 3.5/1M token | ~0.28 | | Azure Document Intelligence | 专用 OCR API | 按页计费 | 0.01/0.01/页 | 1.00 | | MinerU + GPT-4o | 本地解析 → Markdown → LLM | ~12,000 | 5/1Mtoken 5/1M token | ~0.06 | | MinerU + GPT-4o-mini | 本地解析 → Markdown → LLM | ~12,000 | 0.15/1Mtoken 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 已经把该踩的坑踩完了,直接用就好。

开源地址: github.com/opendatalab…

文档: mineru.readthedocs.io