选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    小红书开源黑科技:1.7B参数搞定100种语言OCR

    源码 2025-08-19 09:11

    声明:该文章由作者(笑得合不拢腿。)发表,转载此文章须经作者同意并请附上出处(0XUCN)及本页链接。。

    dots.ocr,它专为解决文档解析的各种痛点而生。

    你只需给它一张复杂的文档图片,它不仅能精准识别出里面的文字、表格和公式,最关键的是,它能保持和人阅读时一样的逻辑顺序进行输出。这一点对于需要连贯上下文的RAG系统来说,是决定性的优势。

    核心功能

    1. 强大的性能表现 dots.ocr在OmniDocBench基准测试中,在文本、表格和阅读顺序方面达到SOTA性能,同时提供与Doubao-1.5和gemini2.5-pro等大型模型相当的公式识别结果。

    2. 多语言支持能力 dots.ocr展示了对低资源语言的强大解析能力,在内部多语言文档基准测试中,在布局检测和内容识别方面都取得了决定性优势。支持100种语言的文档解析,使得构建多语言RAG知识库成为可能。

    3. 统一简洁的架构 通过利用单一视觉语言模型,dots.ocr提供了比依赖复杂多模型流水线的传统方法更加精简的架构。

    4. 保持阅读顺序 dots.ocr特别强调保持良好的阅读顺序,这对RAG系统至关重要。正确的文本顺序确保了知识片段的逻辑连贯性,使得检索到的内容更容易被大语言模型理解和利用。

    评测集对比

    在OmniDocBench这个权威测试集上,dots.ocr的表现真的很强

    文本识别:Edit距离只有0.032(英文)和0.066(中文),这意味着识别准确率接近完美

    表格解析:TEDS得分达到88.6%和89.0%,超越了Gemini 2.5 Pro的85.8%

    阅读顺序:Edit距离仅为0.040和0.067,远优于其他竞争对手

    GitHub地址: 

    https://github.com/rednote-hilab/dots.ocr

    线上测试地址: 

    https://dotsocr.xiaohongshu.com

    本地安装部署流程

    1. 下载安装代码库

    # 创建python环境conda create -n dots_ocr python=3.12conda activate dots_ocr# 项目源代码下载git clone https://github.com/rednote-hilab/dots.ocr.gitcd dots.ocr# 安装PyTorch# windows用户可以 使用nvidia-smi命令查看自己的cuda版本信息# 请访问 https://pytorch.org/get-started/previous-versions/ 以获取您的对应cuda版本的安装命令pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128# 安装CUDA工具链conda install cuda-toolkit -c nvidia       # 安装项目依赖pip install -e .    

    2. 下载模型权重

    # 通过huggingfacepython3 tools/download_model.py# 通过modelscopepython3 tools/download_model.py --type modelscope

    3. 利用vllm部署模型

    # 将模型下载路径赋值给变量 export hf_model_path=./weights/DotsOCR  # 在vLLM的CLI入口文件中动态注入一个自定义模块的导入语句,以便让vLLM支持自定义模型DotsOCR。export PYTHONPATH=$(dirname "$hf_model_path"):$PYTHONPATHsed -i '/^from vllm\.entrypoints\.cli\.main import main$/a\from DotsOCR import modeling_dots_ocr_vllm' `which vllm`  # 启动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 apipython3 ./demo/demo_vllm.py --prompt_mode prompt_layout_all_en

    4. 利用Hugginface 推理

    python3 demo/demo_hf.py

    5. 文档解析

    # 解析版本所有信息(版面结构+文字识别)# 图片解析python3 dots_ocr/parser.py demo/demo_image1.jpg# PDF解析python3 dots_ocr/parser.py demo/demo_pdf1.pdf  --num_thread 64# 仅检查版面结构python3 dots_ocr/parser.py demo/demo_image1.jpg --prompt prompt_layout_only_en# 仅提取文字内容python3 dots_ocr/parser.py demo/demo_image1.jpg --prompt prompt_ocr# 通过边界线解析布局python3 dots_ocr/parse--prompt prompt_grounding_ocr --bbox r.py demo/demo_image1.jpg 1632411536705

    您可以使用以下命令运行演示

    python demo/demo_gradio.py

    案例实测

    表格文档示例

    • 表格文档

    • 合并单元表格

    • 竖排表格

    试卷公式示例

    手写文字

    优势对比与RAG提升

    在RAG应用场景下,dots.ocr相比传统方案的优势更加明显:

    知识提取准确性: 统一模型架构确保文档的布局、表格、公式等结构化信息完整保留,RAG系统可以获得更准确的知识表示。

    处理效率提升: 1.7B参数的轻量级设计,使得大规模文档库的预处理速度大幅提升,企业可以快速构建和更新知识库。

    多模态理解: 作为视觉语言模型,dots.ocr能够理解文档中的图表关系,为RAG系统提供更丰富的上下文信息。

    降低运维成本: 单模型解决方案减少了系统维护复杂度,避免了多个模型版本管理和协调的困难。

    总结

    dots.ocr的出现,为RAG系统的文档解析环节提供了突破性解决方案。它不仅解决了传统OCR工具在复杂文档处理上的不足,更重要的是为构建高质量RAG知识库奠定了坚实基础。通过准确的文档解析,RAG系统能够实现更精准的知识检索和更可靠的答案生成。

    关注我们

    [超站]友情链接:

    四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
    关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

    图库