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

张开发
2026/4/11 17:38:11 15 分钟阅读

分享文章

GPT-4o / Claude / Gemini 原生读 PDF,究竟在偷偷烧多少 Token?
核心结论先说 主流大模型原生解析 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.55Claude 3.5 Sonnet 原生PDF 直传~95,000$3/1M token~$0.29Gemini 1.5 Pro 原生PDF 直传~80,000$3.5/1M token~$0.28Azure Document Intelligence专用 OCR API按页计费$0.01/页$1.00MinerU GPT-4o本地解析 → Markdown → LLM~12,000$5/1M token~$0.06MinerU GPT-4o-mini本地解析 → Markdown → LLM~12,000$0.15/1M token~$0.002Token 数据来源实测 20 份真实年报取均值大模型单价参考 2025Q4 官网定价。一句话结论 用 MinerU 预处理之后喂给 LLM 的 token 量降低 7~9 倍成本降低 90%。二、为什么原生多模态这么贵根本原因是图片 token 的计价逻辑。以 GPT-4o 为例一张 1080p 图片消耗约 765~1,105 token100 页 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 任意 LLM98%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 — 嵌入自己的 pipelinefrom 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( documentschunks, embeddingOpenAIEmbeddings(), 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

更多文章