Featured image of post MonkeyOCR 轻量级文档解析工具

MonkeyOCR 轻量级文档解析工具

MonkeyOCR 是基于轻量级文档解析模型,仅 3B 参数,性能超越 Gemini 2.5 Pro 等闭源模型,不仅能精确识别文字、公式和表格,还能保持原有的文档结构和布局关系。

MonkeyOCR 是一款基于轻量级文档解析模型的 OCR 工具,参数量仅为 3B,却在性能上超越了 Gemini 2.5 Pro 等闭源模型。它不仅能高精度识别文字、公式和表格,还能完整保留原始文档的结构与布局关系。

仓库地址 https://github.com/Yuliang-Liu/MonkeyOCR

Colab 安装介绍

接下来介绍使用 ColabT4 GPU 来测试使用,看看效果如何。

拉取项目

首先需要拉取官方的项目代码到本地

1
!git clone https://github.com/Yuliang-Liu/MonkeyOCR.git

image

然后我们需要手动输入命令去切换到项目目录来

1
2
import os
os.chdir('/content/MonkeyOCR')

安装 CUDA 支持

首先我们要先看一下当前的 CUDA 版本

1
!nvidia-smi

image

从上图可以看到是 12.4 的版本,所以我们就安装对应的版本依赖包

1
2
# 注意末尾的 124 就是版本号
!pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124

安装 LMDeploy

LMDeploy 是一个高效且友好的 LLM 模型部署工具箱,功能涵盖了量化、推理和服务。

1
!pip install lmdeploy==0.8.0

安装项目依赖

1
!pip install -e .

下载模型

如果使用 Huggingface 下载模型,可以执行以下命令,不过一般 Colab 已经自带

1
2
3
!pip install huggingface_hub

!python tools/download_model.py

或者可以使用 modelscope

1
2
3
!pip install modelscope

!python tools/download_model.py -t modelscope

修复 T4 显卡问题:Shared Memory Error 问题 (可选)

如果使用的 T4 显卡的话,在执行任务的时候,就会提示 Shared Memory Error 的错误。主要是因为 Flash Attention 使用的共享内存超过了 GPU 的硬件限制, T4 显卡在 Compute Capability 7.5 (Turing) 上,每个线程块(block)的最大共享内存为:

48 KB = 49152 Bytes

而程序申请了 65538 字节 ,远远超过了硬件限制。

1
2
3
!python tools/lmdeploy_patcher.py patch
# 执行以下命令恢复
# python tools/lmdeploy_patcher.py restore

官方文档上也有对于不同的显卡做了说明。

https://github.com/Yuliang-Liu/MonkeyOCR/blob/main/docs/install_cuda.md#install-with-cuda-support

image

效果测试

测试1

我们使用一张带图片的 pdf 文档来试试

image

执行以下命令进行解析

1
2
# input_path 为实际的本地文件路径
!python parse.py input_path

如果没有报错的话,就可以看到如下图的内容

image

我们将它打包下载到本地看一下,排版、标题等基本跟 pdf 一致

image

而且图片也能够单独识别出来,放在统一的文件夹内

image

测试2

我们使用一张带表格的 pdf 文档来试试

image

从资源面板看到,在运行的时候,大概使用了 10G 的显卡显存

image

这次用了 15 秒左右

image

本地打开看一下效果,表格能很好的识别出来了

image

总结

从两次测试来看,都能够很好的识别到 pdf 中的内容,不管是图片还是表格,这种在以前 ocr 工具中效果不太好的情况,在 MonkeyOCR 工具中,有了很好的改善。

然后模型大小只有 3B 参数,但是对于显卡的要求还是比较高的,一般入门级别的显卡可能就有点吃力了。

目前这款工具能够支持 中文英文,后续可能还会支持更多的语种。

Licensed under CC BY-NC-SA 4.0
本博客所有内容无特殊标注均为大卷学长原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy