掘金 人工智能 前天 11:28
🚀重磅开源!本地部署1.7B参数超强OCR大模型dots.ocr!超越GPT-4o和olmOCR!结构化精准提取复杂PDF扫描件!完美识别中英文文档、模糊扫描
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Dots.ocr是由小红书团队开源的一款强大的多语言文档解析工具,它能精准识别复杂文档中的文字、表格、公式,并保持阅读逻辑顺序。与传统的多模型方案不同,dots.ocr仅用一个统一的视觉语言模型便完成了这些任务,展现出惊人的性能。在权威测试集OmniDocBench上,其文本识别、表格解析和阅读顺序的准确率均远超竞争对手,甚至在公式识别上也能与大型模型媲美。此外,dots.ocr支持100种语言,为跨语言文档处理提供了极大便利。其简洁的架构设计和易于上手的体验,包括在线Demo、Docker部署和API调用,使其成为文档解析领域的优秀选择。

🌟 **统一模型,多任务处理**:Dots.ocr采用单一的视觉语言模型,集成了文档中文字、表格、公式的检测、识别及阅读顺序分析,无需多个模型协同,大大简化了传统方案的复杂性,提高了效率和协同性。

🚀 **卓越性能,远超预期**:在OmniDocBench等权威测试集上,Dots.ocr展现出“降维打击”般的性能。其英文和中文文本识别的Edit距离极低,表格解析的TEDS得分高达88.6%和89.0%,阅读顺序准确性也远优于竞品,甚至在参数量远小于GPT-4o、Qwen2.5-VL-72B等巨头模型的情况下,在多项指标上实现了碾压。

🌍 **强大的多语言支持**:该工具在包含100种语言的内部测试集中表现出色,对多语言文档解析具有“决定性优势”,特别适合处理国际化文档和小语种资料,为全球用户提供了便利。

🛠️ **易于上手,多种体验方式**:用户可以通过官方Demo页面进行在线测试,也可利用Docker进行本地一键部署,或通过API调用将其集成到现有项目中,提供了多种灵活的部署和使用选项。解析结果支持JSON结构化数据、Markdown格式和可视化图片。

💡 **局限性与未来展望**:尽管Dots.ocr在复杂表格、公式解析以及图片内容识别方面仍有提升空间,且在大批量PDF处理时性能有待优化,但考虑到其1.7B的参数量,已属不易。该项目基于Qwen2.5-VL架构,并借鉴了aim-v2等设计思路,体现了小而美的模型设计理念和开源社区的强大力量。

dots.ocr是小红书团队开源的一个多语言文档解析神器。它能干什么呢?给它一张包含文字、表格、公式的复杂文档图片,它就能准确地告诉你每个元素在哪里、是什么类型、里面写的什么内容,甚至还能保持人类阅读的逻辑顺序。

🔥🔥🔥本篇笔记所对应的视频: www.bilibili.com/video/BV1tD…

听起来好像没什么特别的?毕竟市面上OCR工具一抓一大把。但是这个项目的厉害之处在于——它用一个统一的视觉语言模型就搞定了传统方案需要多个模型配合才能完成的复杂任务。

性能到底有多强?

我仔细看了看项目里的性能对比表,说不震惊是假的。在OmniDocBench这个权威测试集上,dots.ocr的表现简直是降维打击:

更让人意外的是,它甚至在公式识别上都能和那些参数量大几十倍的模型掰手腕。想象一下,一个1.7B的"小不点",竟然能在这么多维度上碾压GPT-4o、Qwen2.5-VL-72B这些巨无霸。

多语言支持:真正的全球化

作为一个多语言工作者,我特别关注dots.ocr的多语言能力。项目团队专门构建了一个包含100种语言、1493个PDF图片的内部测试集。结果显示,dots.ocr在多语言文档解析上有着"决定性优势"。

这对于处理国际化文档、小语种资料的朋友来说,绝对是个福音。不用再为了解析一份阿拉伯语或者泰语的PDF而头疼了。

架构设计:简约而不简单

传统的文档解析方案通常需要多个模型配合:先用检测模型找到文档中的各种元素,再用识别模型提取文字内容,最后还要用额外的算法处理阅读顺序。这种流水线式的设计复杂度高、容易出错。

dots.ocr的思路完全不同。它把所有任务都交给一个视觉语言模型来处理,只需要改变输入的提示词,就能在不同任务间切换。这种设计不仅简化了架构,还提高了各个任务间的协同效果。

实际体验:上手就能用

项目的易用性做得相当不错。你可以通过几种方式体验:

    在线体验:访问官方Demo页面直接测试本地部署:支持Docker一键部署,也可以用vLLM进行高性能推理API调用:提供了详细的代码示例,集成到自己的项目中很方便

我特别喜欢它的输出格式。解析结果会生成三个文件:

局限性:没有完美的模型

诚实地说,dots.ocr也不是万能的。项目团队很坦诚地列出了一些局限:

但考虑到这是一个1.7B参数的模型,能做到这个程度已经相当不容易了。

技术细节:站在巨人的肩膀上

从技术实现来看,dots.ocr基于Qwen2.5-VL架构,使用了aim-v2的设计思路。项目团队还特别感谢了MonkeyOCR、OmniDocBench等开源项目的贡献。

这种开放的合作精神值得点赞。正是因为有了这些优秀的开源基础,我们才能看到像dots.ocr这样令人惊喜的成果。

dots.ocr的出现,让我们看到了小而美的模型设计理念。在这个动辄千亿参数的大模型时代,一个1.7B的模型能在专业领域做到如此出色,确实令人印象深刻。

对于需要处理大量文档的朋友,不妨试试这个工具。项目的开源协议也很友好,商业使用基本没有障碍。

最后想说的是,开源社区的力量真的很强大。像dots.ocr这样的项目,不仅推动了技术进步,也为整个社区贡献了宝贵的资源。希望能有更多这样的优秀项目涌现出来。


*✅项目地址:github.com/rednote-hil…

🚀笔记

# 1. 环境准备conda create -n dots_ocr python=3.12          # 创建名为dots_ocr的conda虚拟环境,使用Python 3.12conda activate dots_ocr                       # 激活虚拟环境# 2. 项目下载git clone <https://github.com/rednote-hilab/dots.ocr.git>    # 克隆dots.ocr项目代码cd dots.ocr                                   # 进入项目目录# 3. 安装PyTorchpip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url <https://download.pytorch.org/whl/cu128>                                             # 安装PyTorch 2.7.0版本(支持CUDA 12.8)# 4. 安装CUDA工具链conda install cuda-toolkit -c nvidia        # 安装CUDA编译工具包,解决flash-attn编译问题# 5. 第一次尝试安装项目依赖(失败)pip install -e .                             # 以开发模式安装项目,但因为缺少CUDA工具链而失败# 7. 下载模型权重python3 tools/download_model.py             # 下载dots.ocr预训练模型权重文件# model downloaded to /home/Ubuntu/dots.ocr/weights/DotsOCR# 8. vLLM部署准备(失败,因为vllm未安装)export hf_model_path=./weights/DotsOCR       # 设置模型路径环境变量export PYTHONPATH=$(dirname "$hf_model_path"):$PYTHONPATH  # 添加模型路径到Python路径sed -i '/^from vllm\.entrypoints\.cli\.main import main$/a\from DotsOCR import modeling_dots_ocr_vllm' `which vllm`                                             # 尝试修改vllm配置文件(失败,因为vllm未安装)# 9. 尝试启动vLLM服务(失败)CUDA_VISIBLE_DEVICES=0 vllm serve ${hf_model_path} \    --tensor-parallel-size 1 \    --gpu-memory-utilization 0.95 \    --chat-template-content-format string \    --served-model-name model \    --trust-remote-code                      # 尝试启动vLLM服务,但因为vllm未安装而失败# 10. 使用HuggingFace方式测试(成功)python3 demo/demo_hf.py                     # 使用HuggingFace Transformers直接运行模型演示,成功# 11. 尝试Gradio Web界面(有问题)python demo/demo_gradio.py                  # 启动Gradio Web演示界面,但出现跨域和资源加载问题# 12. 尝试Gradio标注界面(有问题)python demo/demo_gradio_annotion.py         # 启动Gradio图像标注演示界面,同样出现问题

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Dots.ocr 文档解析 OCR 多语言 开源模型
相关文章