当前位置: 首页 > news >正文

MinerU2.5:一种用于高效高分辨率文档解析的解耦视觉-语言模型

在这里插入图片描述

Image

介绍

MinerU2.5 是一个具有 12 亿参数的视觉-语言模型,用于文档解析,它在保持高计算效率的同时实现了最先进的准确性。它采用两阶段解析策略:首先对下采样的图像进行高效的全局布局分析,然后对文本、公式和表格的原分辨率裁剪部分进行细粒度的内容识别。通过大规模、多样化的数据引擎支持预训练和微调,MinerU2.5 在多个基准测试中始终优于通用模型和特定领域模型,同时保持较低的计算开销。

主要改进

  • 全面且细致的布局分析: 不仅保留了页眉、页脚和页码等非主体元素以确保内容完整性,还采用了更精细和标准化的标注方案。这使得列表、引用和其他元素的表示更加清晰和结构化。
  • 公式解析的突破: 高质量地解析复杂的长数学公式,并准确识别混合语言(中文-英文)的方程。
  • 增强的表格解析鲁棒性: 轻松处理包括旋转表格、无边框表格和部分边框表格在内的挑战性情况。

快速开始

为了方便起见,我们提供了 mineru-vl-utils,这是一个 Python 包,简化了向 MinerU2.5 视觉-语言模型发送请求和处理响应的过程。这里给出一些使用 MinerU2.5 的示例。更多信息和用法,请参阅 mineru-vl-utils。

📌 我们强烈建议使用 vllm 进行推理,因为 vllm-async-engine 可以在单个 A100 上实现 2.12 fps 的并发推理速度。

安装包

# For `transformers` backend
pip install "mineru-vl-utils[transformers]"
# For `vllm-engine` and `vllm-async-engine` backend
pip install "mineru-vl-utils[vllm]"

transformers 示例

from modelscope import AutoProcessor, Qwen2VLForConditionalGeneration
from PIL import Image
from mineru_vl_utils import MinerUClient# for transformers>=4.56.0
model = Qwen2VLForConditionalGeneration.from_pretrained("OpenDataLab/MinerU2.5-2509-1.2B",dtype="auto", # use `torch_dtype` instead of `dtype` for transformers<4.56.0device_map="auto"
)processor = AutoProcessor.from_pretrained("OpenDataLab/MinerU2.5-2509-1.2B",use_fast=True
)client = MinerUClient(backend="transformers",model=model,processor=processor
)image = Image.open("/path/to/the/test/image.png")
extracted_blocks = client.two_step_extract(image)
print(extracted_blocks)

vllm-engine 示例(推荐!)

from vllm import LLM
from PIL import Image
from mineru_vl_utils import MinerUClient
from mineru_vl_utils import MinerULogitsProcessor  # if vllm>=0.10.1llm = LLM(model="OpenDataLab/MinerU2.5-2509-1.2B",logits_processors=[MinerULogitsProcessor]  # if vllm>=0.10.1
)client = MinerUClient(backend="vllm-engine",vllm_llm=llm
)image = Image.open("/path/to/the/test/image.png")
extracted_blocks = client.two_step_extract(image)
print(extracted_blocks)

vllm-async-engine 示例(推荐!)

import io
import asyncio
import aiofilesfrom vllm.v1.engine.async_llm import AsyncLLM
from vllm.engine.arg_utils import AsyncEngineArgs
from PIL import Image
from mineru_vl_utils import MinerUClient
from mineru_vl_utils import MinerULogitsProcessor  # if vllm>=0.10.1async_llm = AsyncLLM.from_engine_args(AsyncEngineArgs(model="OpenDataLab/MinerU2.5-2509-1.2B",logits_processors=[MinerULogitsProcessor]  # if vllm>=0.10.1)
)client = MinerUClient(backend="vllm-async-engine",vllm_async_llm=async_llm,
)async def main():image_path = "/path/to/the/test/image.png"async with aiofiles.open(image_path, "rb") as f:image_data = await f.read()image = Image.open(io.BytesIO(image_data))extracted_blocks = await client.aio_two_step_extract(image)print(extracted_blocks)asyncio.run(main())async_llm.shutdown()

模型架构

Image

在 OmniDocBench 上的表现

不同元素上的表现

在这里插入图片描述

不同文档类型上的表现

Image

案例演示

各种文档类型的全文档解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表格识别

Image
在这里插入图片描述

公式识别

在这里插入图片描述

Image

一、MinerU2.5是什么?颠覆性文档解析黑科技

MinerU2.5是上海人工智能实验室推出的新一代多模态文档解析大模型,作为MinerU系列的重磅升级版本,它以"小参数、高性能"为核心优势,专为复杂文档的结构化提取而生。截至目前,其开源仓库已斩获2.5万+GitHub星标,连谷歌工程师都在主动安利,成为RAG项目、AI语料处理的必备工具。

核心突破:为什么它能碾压主流方案?

  1. 参数与性能的极致平衡:仅1.2B参数规模,却在OmniDocBench、olmOCR-bench等权威评测中,全面超越Gemini2.5-Pro、GPT-4o等千亿级大模型,以及dots.ocr、PP-StructureV3等专业工具,实现"小身材、大能量"的技术奇迹。
  2. 全场景解析精度跃升:人工评测显示,其在布局检测、表格识别、公式识别等关键任务上全面突破,普通样本解析精度媲美专业标注员,复杂样本处理能力提升30%以上。
  3. 效率与成本双优:依托QwenVL2视觉编码器与工程优化,在消费级4090显卡上实现每秒1.7页的解析速度,是传统大模型方案的5-8倍,大幅降低高质量解析的算力成本。

适用场景:这些需求它能完美承接

  • RAG知识库构建:精准提取文档核心信息,为大模型问答提供高质量语料,避免"垃圾进、垃圾出"
  • 学术研究辅助:快速解析论文中的公式、图表、参考文献,自动转换为可编辑格式
  • 企业数据处理:批量解析财报、研报、合同中的表格与关键条款,生成结构化数据
  • 教育资源转化:将课本、考题中的复杂题型、公式转为数字化内容,助力智能教辅开发
  • 多模态内容迁移:把PPT、扫描件、电子书等非结构化文档转为Markdown/JSON,便于二次创作

二、核心功能详解:从基础提取到高阶处理

MinerU2.5的能力覆盖文档解析全链条,无论是基础的文本提取,还是复杂的多模态元素处理,都展现出行业顶尖水准。

1. 多元素精准解析:一个都不能少

解析元素核心能力适用场景
文本内容支持84种语言识别,自动过滤页眉/页脚/页码,跨页跨列文本智能拼接书籍、杂志、网页文档提取
表格结构突破旋转表格、无线表、少线表识别难题,保留单元格合并逻辑财报、数据表、实验记录
数学公式创新复合公式解耦技术,复杂长公式识别准确率超95%,输出LaTeX格式学术论文、教材、工程图纸
图片元素自动识别图片区域并关联标题,支持批量导出与Markdown嵌入PPT、报告、图文混排文档
参考文献新增文献识别功能,自动提取作者、期刊、DOI等核心信息学术论文、综述文献

2. 格式支持与输出:灵活适配各类需求

  • 输入格式全覆盖:不仅支持PDF(文本型、图层型、扫描版),还兼容图片、Word、PPT等格式(转换为PDF后即可解析)。
  • 输出格式多样化
    • 多模态Markdown:保留文本、表格、公式、图片关联关系,直接用于排版发布
    • 结构化JSON:包含页眉、脚注等完整元信息,便于开发者二次开发
    • 中间态文件:如layout.json,支持自定义加工,适配NLP训练、知识图谱构建等场景。

3. 技术架构揭秘:高效解析的底层逻辑

MinerU2.5的强大性能源于精心设计的技术管线,分为四大核心环节:

  1. 文档分类预处理:自动识别文档类型(文本型/扫描版)、检测乱码,为不同文档匹配最优解析策略
  2. 多模块协同解析:通过LayoutLMv3布局检测定位元素位置,YOLOv8公式检测锁定公式区域,UniMERNet识别公式内容,PaddleOCR处理文本信息
  3. 智能管线后处理:修复坐标偏差、按阅读顺序排序内容、过滤无用元素,确保输出连贯性
  4. 全流程质检优化:依托人工标注测评集持续迭代,可视化工具辅助质量核查

三、实操教程:从安装到解析全流程

MinerU2.5支持本地部署、Docker部署与在线试用三种方式,满足不同用户需求。以下是最常用的本地部署与基础使用指南。

1. 前期准备:环境与资源获取

  • 硬件要求:推荐GPU(4090/3090等≥12G显存),CPU也可运行但速度较慢;支持昇腾、寒武纪等国产NPU
  • 软件依赖:Python 3.10+,Conda环境,CUDA 12.1+(GPU加速需配置)
  • 核心资源
    • 官网:https://mineru.net/
    • GitHub代码库:https://github.com/opendatalab/MinerU
    • 线上Demo:https://mineru.net/OpenSourceTools/Extractor(无需安装即可试玩)

2. 本地部署步骤(GPU版)

第一步:创建并激活Conda环境
conda create -n MinerU python=3.10
conda activate MinerU  # 激活环境
第二步:安装核心依赖包
# 安装magic-pdf及依赖,使用阿里源加速
pip install -U "magic-pdf(full)" --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple
# 安装modelscope用于模型管理
pip install modelscope
第三步:下载模型文件
# 下载模型下载脚本
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py
# 执行下载(默认下载到用户目录,可在脚本中修改路径)
python download_models.py
第四步:配置运行参数

模型下载完成后,用户目录会自动生成magic-pdf.json配置文件,关键参数修改如下:

{"models-dir": "/your/model/path",  # 填写模型实际存放路径"device-mode": "cuda",  # 改为"cpu"则使用CPU运行"formula-config": {"enable": true  # 开启公式识别(默认开启)},"table-config": {"enable": true,  # 开启表格识别(默认开启)"model": "rapid_table"  # 表格模型:rapid_table速度快,tablemaster精度高}
}

3. 基础使用:3行代码解析PDF

示例1:解析本地PDF为Markdown
from magic_pdf import MagicPDF# 初始化解析器
parser = MagicPDF(config_path="/your/home/path/magic-pdf.json")
# 解析PDF(支持本地文件路径或S3协议路径)
result = parser.parse_file(file_path="/test/complex_paper.pdf",output_format="markdown"  # 输出格式:markdown/json/content_list
)
# 保存结果
with open("output.md", "w", encoding="utf-8") as f:f.write(result["content"])
示例2:批量解析并过滤干扰信息
# 批量处理文件夹中的PDF
import ospdf_folder = "/test/pdf_batch"
for pdf_file in os.listdir(pdf_folder):if pdf_file.endswith(".pdf"):file_path = os.path.join(pdf_folder, pdf_file)# 解析时自动去除页眉页脚result = parser.parse_file(file_path=file_path,output_format="json",remove_header_footer=True  # 开启干扰信息过滤)# 保存JSON结果output_path = file_path.replace(".pdf", ".json")with open(output_path, "w", encoding="utf-8") as f:json.dump(result, f, ensure_ascii=False, indent=2)

4. Docker部署:快速复用环境

对于团队协作场景,Docker部署能避免环境冲突,步骤如下:

# 下载Dockerfile
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/china/Dockerfile -O Dockerfile
# 构建镜像
docker build -t mineru:latest .
# 运行容器(支持GPU加速)
docker run --rm -it --gpus=all mineru:latest /bin/bash -c "source /opt/mineru_venv/bin/activate && exec bash"
# 验证安装
magic-pdf --help

四、进阶技巧:解锁高效使用姿势

1. RAG项目最佳实践

将MinerU2.5与主流Agent平台结合,可快速搭建高质量知识库:

  1. 使用MinerU2.5解析学术论文/行业报告,输出结构化JSON
  2. 通过插件接入N8n、FastGP等Agent平台
  3. 结合向量数据库存储解析后的核心信息
  4. 调用大模型实现精准问答(实测问答准确率提升40%+)

2. 复杂公式与表格处理技巧

  • 解析超长公式时,可在配置中开启complex_formula_decouple参数,自动拆分复合公式
  • 处理扫描版表格时,建议先通过图像预处理工具增强清晰度,再用MinerU2.5解析
  • 导出表格时选择latex格式,可直接用于LaTeX论文排版

3. 性能优化方案

  • 批量解析时启用batch_size参数(建议设为4-8,根据显存调整)
  • 非关键场景可关闭公式识别功能,解析速度提升50%
  • 国产千卡级平台可通过DeepLink开放计算体系实现分布式解析,效率倍增

五、实测效果:这些场景它表现惊艳

场景1:学术论文解析

解析一篇包含12个复杂公式、8张表格的AI顶会论文,MinerU2.5仅用18秒完成,公式识别准确率100%,表格结构还原完整,而GPT-4o相同任务耗时47秒,且2个嵌套公式出现识别错误。

场景2:财报表格提取

某上市公司2024年报中的旋转45°无线表格,传统工具提取后列顺序全错,MinerU2.5自动校正方向并还原数据逻辑,与原表格误差率低于1%。

场景3:扫描版教材处理

一本1985年出版的扫描版数学课本,存在字迹模糊、页码混杂问题,MinerU2.5自动过滤污渍干扰,识别文字准确率98.2%,公式转换全部可编辑。

六、常见问题解答

Q:MinerU2.5与旧版本相比有哪些升级?
A:主要提升包括新增表格旋转识别、参考文献提取功能,优化中文公式解析精度,支持国产NPU加速,解析速度提升2倍以上。

Q:没有GPU能使用吗?
A:可以,配置文件中device-mode设为cpu即可,但复杂文档解析速度会较慢,建议优先使用GPU。

Q:支持批量解析多少个文件?
A:无固定限制,可通过脚本循环处理,4090显卡下建议单次批量不超过20个大文件(≥100页),避免显存溢出。

Q:解析结果可以直接用于大模型训练吗?
A:完全可以,其输出的content_list格式保留完整语义信息,是理想的多模态训练语料。

MinerU2.5的出现,重新定义了文档解析的"精度-效率-成本"平衡。无论是开发者构建RAG系统,还是研究者处理学术文献,或是企业进行数据结构化,这款开源神器都能大幅提升生产力。目前其正与昇腾、寒武纪等国产平台深度适配,后续还将开放更多高级功能。赶紧去GitHub星标收藏,亲身体验这份来自上海AI Lab的技术惊喜吧!

http://www.dtcms.com/a/427565.html

相关文章:

  • Redis三大命令分类详解
  • 饼状图修复总结
  • npm 最新镜像,命令导致下载错误
  • 济宁做公司网站中职电子商务专业就业方向
  • JVM深入研究--JHSDB (jvm 分析工具)
  • AI的局限性,有所能与有所不能
  • 广州网站设计公司推荐哪家网站的风格设计有哪些
  • 【完整源码+数据集+部署教程】武装人员图像分割系统: yolov8-seg-GFPN
  • 开发避坑指南(61):Redis持久化失败:RDB快照因磁盘问题无法保存解决方案
  • 短视频网站如何做推广网站导航栏最多可以做几个
  • 做自由行的网站广告运营推广
  • 逆向爬虫——JavaScript混淆技术
  • 4.0 Labview中算法实例1-迟滞曲线上两段的平均差(拐点计算)
  • 网站建设数据库搭建西安广告设计制作公司
  • 作一手房用什么做网站有关学校网站建设策划书
  • 企业网站建设方案详细方案厦门网站建设2
  • 微服务服务治理
  • 网站定制费用银川建设网站
  • [陇剑杯 2021]简单日志分析(问3)
  • 微信的网站徐州网站设计师
  • CC工具箱使用指南:【整库修复几何】
  • 【完整源码+数据集+部署教程】工厂工人操作机械工作图像分割系统: yolov8-seg-RepHGNetV2
  • 网站设计与制作简单吗可以用来注册网站域名的入口是
  • 怎样做内网网站seo企业网络推广培训
  • C 语言各种指针详解
  • 【个人随想】我们是否缺乏从头再来的勇气
  • 自监督学习在医疗AI中的技术实现路径分析(上)
  • 麻涌手机网站设计建设的网站服务器
  • 五维论-解释万物法则
  • 国际海运业务全流程操作解析:易境通海运系统如何赋能各环节?