MInerU2.5-2509-1.2B ubuntu2204 3090部署
【代码】MInerU2.5-2509-1.2B ubuntu2204 3090部署。
·
MInerU2.5-2509-1.2B ubuntu2204 3090部署
环境准备
# 模型下载
git clone https://www.modelscope.cn/OpenDataLab/MinerU2.5-2509-1.2B.git
# python环境
conda env list
conda activate mineru
python --version
conda config --set ssl_verify false
# conda config --set ssl_verify /etc/ssl/certs/ca-certificates.crt
conda create -n mineru2.5 python=3.10 -y
conda activate mineru2.5
# pip install
# For `transformers` backend
pip install "mineru-vl-utils[transformers]"
# For `vllm-engine` and `vllm-async-engine` backend
pip install "mineru-vl-utils[vllm]"
示例用法
https://github.com/opendatalab/mineru-vl-utils/tree/main
# 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.0
device_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.1
llm = 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 aiofiles
from 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.1
async_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()
部署方式对比
常理而言,transform模型加载较快,推理较慢,适合一次测试
vllm部署较慢,推理较快,适合部署使用
测试统一使用图片:

transform +cpu

vllm + gpu

vllm async + gpu

PDF识别项目
mineru2.5-2509 模型仅支持识别图片,不支持文档尤其是pdf的识别,若要使用该模型进行生产,可以使用MinerU项目,mineru在2.5.3版本之后将vlm后端和推理模型升级到了mineru2.5-2509模型
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)