一、介绍MonkeyOCRv2是面向文档图像场景构建的视觉基础编码器在各类文字类视觉任务中可将其用作骨干网络Backbone。该编码器能够精准捕捉文档文字特征进而有效提升下游任务整体性能。与之一起发布的包含两款完整模型MonkeyOCRv2-Parsing是一款参数量为 0.7B 的多语言文档解析模型支持将 PDF 或图像直接转化为 Markdown 格式的结构化内容MonkeyOCRv2-Und提供 1.7B/1.8B 两种规格则专注于文档视觉问答DocVQA任务。二、部署流程以下部署演示基于以下配置系统Ubuntu 20.04.5 LTS显卡RTX 3090显存24G cuda 11.71. 基础环境查看系统是否有Miniconda3的虚拟环境conda -V如果输入命令没有显示Conda版本号则需要安装。2. 下载项目到本地并进入项目执行以下命令下载 MonkeyOCRv2 项目并进入项目git clone https://github.com/Yuliang-Liu/MonkeyOCRv2.git cd MonkeyOCRv23. 快速开始3.1 视觉编码器部署3.1.1 创建虚拟环境创建名称为“MonkeyOCR2”的虚拟环境conda create -n MonkeyOCR2 python3.103.1.2激活虚拟环境conda activate MonkeyOCR23.1.3配置虚拟环境依次执行以下命令以配置虚拟环境pip install torch2.6.0 torchvision0.21.0 torchaudio2.6.0 --index-url https://download.pytorch.org/whl/cu126 pip install transformers4.57.6 pip install flash-attn2.7.4.post1 --no-build-isolation pip install accelerate pip install qwen_vl_utils3.1.4下载模型权重从Huggingface上下载模型权重python download_model.py -n MonkeyOCRv2-B # or MonkeyOCRv2-S / MonkeyOCRv2-AS下载后的权重路径为 ./MonkeyOCRv2/model_weight/MonkeyOCRv2-B也可以从ModelScope上下载模型权重pip install modelscope python download_model.py -t modelscope -n MonkeyOCRv2-B # or MonkeyOCRv2-S / MonkeyOCRv2-AS3.1.5 使用视觉编码器提取图像特征cd vision如果下载的是MonkeyOCRv2-B或者MonkeyOCRv2-S运行python extract_feature.py如果下载的是MonkeyOCRv2-AS 运行python extract_feature_vitae.py前文已下载 MonkeyOCRv2-B 模型权重直接运行以下指令即可python extract_feature.py附上extract_feature.py的源码详情已经预存了图片我们也可以通过修改img_path来修改我们想要输入的图片路径运行结果如下3.2 文档解析模型部署3.2.1创建虚拟环境conda create -n MonkeyOCRv2Parsing python3.103.2.2 进入虚拟环境conda activate MonkeyOCRv2Parsing3.2.3配置虚拟环境依次执行以下命令以配置虚拟环境pip install uv uv pip install vllm0.11.2 --torch-backendauto -i https://pypi.tuna.tsinghua.edu.cn/simple requests pip install -r parsing/requirements.txt3.2.4 下载模型权重从Huggingface上下载模型权重python download_model.py -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing模型权重保存路径默认为./model_weight/MonkeyOCRv2-B-Parsing也可以从ModelScope下载模型权重pip install modelscope python download_model.py -t modelscope -n MonkeyOCRv2-B-Parsing # or MonkeyOCRv2-S-Parsing3.2.5推理使用下载的文档解析模型进行推理cd parsing python parse.py \ -i ../images_test/ar.JPEG \ -o output/test \ -m ../model_weight/MonkeyOCRv2-B-Parsing \ -g 500 \ --draw-layout \ --skip-processed # Show help messages python parse.py -h各个参数的含义如下-i 输入文件路径或存放 PDF 文件、图片也可二者混合的文件夹目录-o 解析结果的输出文件夹路径-m 指定模型权重路径-g 批处理大小--draw-layout 是否保存带标注框的layout PDF文件--skip-processed 是否跳过已经处理过的文档运行下方三张图片从左至右依次为原始输入图像、文档布局可视化结果、结构化解析输出内容。3.2.6 运行网页demopython demo/gradio_demo.py \ --model-path ../model_weight/MonkeyOCRv2-B-Parsing \ --output-dir output/demo_outputs若出现端口占用的报错提示在demo/gradio_demo.py中更换端口即可运行结果如下浏览器打开地址http://127.0.0.1:port界面效果如下即可使用3.3 文档理解3.3.1 环境配置使用上文配置的sMonkeyOCR2环境即可3.3.2 权重下载从Huggingface上下载模型权重python download_model.py -n MonkeyOCRv2-B-Und # or MonkeyOCRv2-S-Und从ModelScope下载模型权重pip install modelscope python download_model.py -t modelscope -n MonkeyOCRv2-B-Und # or MonkeyOCRv2-S-Und3.3.3 推理cd understanding python infer.py \ -m ../model_weight/MonkeyOCRv2-B-Und \ -i ../images_test/vqa.png \ -q What is the serving size?# Show help messages python infer.py -h推理效果如图