Compare commits

..

21 Commits

Author SHA1 Message Date
Xiaomeng Zhao
6aac639686 Merge pull request #3533 from myhloli/dev
Update ModelScope link in README_zh-CN.md for MinerU2.5 release
2025-09-19 16:39:40 +08:00
myhloli
82f94a9a84 Update ModelScope link in README_zh-CN.md for MinerU2.5 release 2025-09-19 16:36:42 +08:00
Xiaomeng Zhao
d928334c61 Merge pull request #3532 from myhloli/dev
Fix formatting in vlm_middle_json_mkcontent.py to ensure proper line breaks in list items
2025-09-19 16:34:29 +08:00
myhloli
ebad82bd8c Update version in README to 2.5.2 for MinerU2.5 release 2025-09-19 16:31:30 +08:00
myhloli
b03c5fb449 Fix formatting in vlm_middle_json_mkcontent.py to ensure proper line breaks in list items 2025-09-19 16:30:43 +08:00
Xiaomeng Zhao
304a6d9d8c Merge pull request #3527 from myhloli/dev
fix: Update mineru-vl-utils version and add logits processors support
2025-09-19 11:42:43 +08:00
myhloli
bce9bb6d1d Add support for --logits-processors argument in server.py 2025-09-19 11:42:05 +08:00
myhloli
920220e48e Update version in README for MinerU2.5 release to 2.5.1 2025-09-19 11:40:44 +08:00
myhloli
9fc3d6c742 Remove direct import of MinerULogitsProcessor and add it conditionally in vllm backend 2025-09-19 11:36:20 +08:00
myhloli
8fd544273e Update mineru-vl-utils version and add logits processors support 2025-09-19 11:20:34 +08:00
myhloli
72f1f5f935 Update mineru-vl-utils version and add logits processors support 2025-09-19 11:16:55 +08:00
Xiaomeng Zhao
5559a4701a Merge pull request #3523 from opendatalab/master
master->dev
2025-09-19 10:44:51 +08:00
myhloli
437022abfa Specify version constraints for mineru-vl-utils in pyproject.toml 2025-09-19 03:39:57 +08:00
myhloli
4653ed1502 Remove version constraints for mineru-vl-utils in pyproject.toml 2025-09-19 03:31:13 +08:00
Xiaomeng Zhao
b58c7f8d6e Merge pull request #3517 from opendatalab/dev
Dev
2025-09-19 03:27:30 +08:00
Xiaomeng Zhao
f6133b1731 Merge pull request #3516 from myhloli/dev
Update dependency name for mineru-vl-utils in pyproject.toml
2025-09-19 03:26:31 +08:00
myhloli
12d72c7c17 Update dependency name for mineru-vl-utils in pyproject.toml 2025-09-19 03:25:18 +08:00
Xiaomeng Zhao
5f3f35c009 Merge pull request #3515 from opendatalab/master
master->dev
2025-09-19 03:14:48 +08:00
myhloli
16ad71446b Update version.py with new version 2025-09-18 19:12:56 +00:00
Xiaomeng Zhao
d4b364eb9f Merge pull request #3513 from opendatalab/release-2.5.0
Release 2.5.0
2025-09-19 03:10:02 +08:00
Xiaomeng Zhao
5db08afef6 Merge pull request #3509 from opendatalab/release-2.5.0
Release 2.5.0
2025-09-19 02:51:50 +08:00
7 changed files with 23 additions and 7 deletions

View File

@@ -44,7 +44,7 @@
# Changelog
- 2025/09/19 2.5.0 Released
- 2025/09/19 2.5.2 Released
We are officially releasing MinerU2.5, currently the most powerful multimodal large model for document parsing.
With only 1.2B parameters, MinerU2.5's accuracy on the OmniDocBench benchmark comprehensively surpasses top-tier multimodal models like Gemini 2.5 Pro, GPT-4o, and Qwen2.5-VL-72B. It also significantly outperforms leading specialized models such as dots.ocr, MonkeyOCR, and PP-StructureV3.

View File

@@ -44,9 +44,9 @@
# 更新记录
- 2025/09/19 2.5.0 发布
- 2025/09/19 2.5.2 发布
我们正式发布 MinerU2.5,当前最强文档解析多模态大模型。仅凭 1.2B 参数MinerU2.5 在 OmniDocBench 文档解析评测中,精度已全面超越 Gemini2.5-Pro、GPT-4o、Qwen2.5-VL-72B等顶级多模态大模型并显著领先于主流文档解析专用模型如 dots.ocr, MonkeyOCR, PP-StructureV3 等)。
模型已发布至[HuggingFace](https://huggingface.co/opendatalab/MinerU2.5-2509-1.2B)和[ModelScope](https://huggingface.co/opendatalab/MinerU2.5-2509-1.2B)平台,欢迎大家下载使用!
模型已发布至[HuggingFace](https://huggingface.co/opendatalab/MinerU2.5-2509-1.2B)和[ModelScope](https://modelscope.cn/models/opendatalab/MinerU2.5-2509-1.2B)平台,欢迎大家下载使用!
- 核心亮点
- 极致能效性能SOTA: 以 1.2B 的轻量化规模实现了超越百亿乃至千亿级模型的SOTA性能重新定义了文档解析的能效比。
- 先进架构,全面领先: 通过 “两阶段推理” (解耦布局分析与内容识别) 与 原生高分辨率架构 的结合,在布局分析、文本识别、公式识别、表格识别及阅读顺序五大方面均达到 SOTA 水平。

View File

@@ -14,6 +14,7 @@ from ...utils.model_utils import get_vram
from ...utils.models_download_utils import auto_download_and_get_model_root_path
from mineru_vl_utils import MinerUClient
from packaging import version
class ModelSingleton:
@@ -52,7 +53,6 @@ class ModelSingleton:
except ImportError:
raise ImportError("Please install transformers to use the transformers backend.")
from packaging import version
if version.parse(transformers_version) >= version.parse("4.56.0"):
dtype_key = "dtype"
else:
@@ -88,24 +88,32 @@ class ModelSingleton:
elif backend == "vllm-engine":
try:
import vllm
vllm_version = vllm.__version__
from mineru_vl_utils import MinerULogitsProcessor
except ImportError:
raise ImportError("Please install vllm to use the vllm-engine backend.")
if "gpu_memory_utilization" not in kwargs:
kwargs["gpu_memory_utilization"] = 0.5
if "model" not in kwargs:
kwargs["model"] = model_path
if version.parse(vllm_version) >= version.parse("0.10.1") and "logits_processors" not in kwargs:
kwargs["logits_processors"] = [MinerULogitsProcessor]
# 使用kwargs为 vllm初始化参数
vllm_llm = vllm.LLM(**kwargs)
elif backend == "vllm-async-engine":
try:
from vllm.engine.arg_utils import AsyncEngineArgs
from vllm.v1.engine.async_llm import AsyncLLM
from vllm import __version__ as vllm_version
from mineru_vl_utils import MinerULogitsProcessor
except ImportError:
raise ImportError("Please install vllm to use the vllm-async-engine backend.")
if "gpu_memory_utilization" not in kwargs:
kwargs["gpu_memory_utilization"] = 0.5
if "model" not in kwargs:
kwargs["model"] = model_path
if version.parse(vllm_version) >= version.parse("0.10.1") and "logits_processors" not in kwargs:
kwargs["logits_processors"] = [MinerULogitsProcessor]
# 使用kwargs为 vllm初始化参数
vllm_async_llm = AsyncLLM.from_engine_args(AsyncEngineArgs(**kwargs))
self._models[key] = MinerUClient(

View File

@@ -54,7 +54,7 @@ def mk_blocks_to_markdown(para_blocks, make_mode, formula_enable, table_enable,
elif para_type == BlockType.LIST:
for block in para_block['blocks']:
item_text = merge_para_with_text(block, formula_enable=formula_enable, img_buket_path=img_buket_path)
para_text += f"{item_text}\n"
para_text += f"{item_text} \n"
elif para_type == BlockType.TITLE:
title_level = get_title_level(para_block)
para_text = f'{"#" * title_level} {merge_para_with_text(para_block)}'

View File

@@ -1,7 +1,10 @@
import sys
from mineru.utils.models_download_utils import auto_download_and_get_model_root_path
from vllm.entrypoints.cli.main import main as vllm_main
from vllm import __version__ as vllm_version
from packaging import version
def main():
@@ -9,6 +12,7 @@ def main():
has_port_arg = False
has_gpu_memory_utilization_arg = False
has_logits_processors_arg = False
model_path = None
model_arg_indices = []
@@ -18,6 +22,8 @@ def main():
has_port_arg = True
if arg == "--gpu-memory-utilization" or arg.startswith("--gpu-memory-utilization="):
has_gpu_memory_utilization_arg = True
if arg == "--logits-processors" or arg.startswith("--logits-processors="):
has_logits_processors_arg = True
if arg == "--model":
if i + 1 < len(args):
model_path = args[i + 1]
@@ -38,6 +44,8 @@ def main():
args.extend(["--gpu-memory-utilization", "0.5"])
if not model_path:
model_path = auto_download_and_get_model_root_path("/", "vlm")
if not has_logits_processors_arg and version.parse(vllm_version) >= version.parse("0.10.1"):
args.extend(["--logits-processors", "mineru_vl_utils:MinerULogitsProcessor"])
# 重构参数,将模型路径作为位置参数
sys.argv = [sys.argv[0]] + ["serve", model_path] + args

View File

@@ -1 +1 @@
__version__ = "2.2.2"
__version__ = "2.5.0"

View File

@@ -39,7 +39,7 @@ dependencies = [
"openai>=1.70.0,<2",
"beautifulsoup4>=4.13.5,<5",
"magika>=0.6.2,<0.7.0",
"mineru_vl_utils>=0.1.6,<1.0.0",
"mineru-vl-utils>=0.1.7,<1",
]
[project.optional-dependencies]