标签: OCR

  • Unlimited OCR:百度开源的「一次前向通读整本 PDF」的 OCR 大模型

    Unlimited OCR:百度开源的「一次前向通读整本 PDF」的 OCR 大模型

    项目简介

    Unlimited OCR 是百度开源的一款端到端 OCR 大模型,主打「One-shot Long-horizon Parsing」——在单次前向传播中,直接解析长达 32K token 的整份 PDF 或连续多页图像,而不是把文档切碎后一页页跑。

    它以 DeepSeek-OCR 的编码器为基础,但把解码器的所有注意力层替换为自研的 Reference Sliding Window Attention(R-SWA),让 KV Cache 在解码过程中保持恒定。换句话说:输出越长,显存和速度越稳定,不会出现传统 LLM 解码器「越写越慢」的窘境。

    核心亮点

    • 恒定 KV Cache:R-SWA 替换标准自注意力,长文档生成时显存占用平稳、解码速度不衰减。
    • 一次前向通读多页:标准 32K 上下文内,可一次完成数十页文档解析,保留跨页上下文。
    • 三种部署形态:提供 Hugging Face transformers、vLLM Docker 镜像、SGLang OpenAI 兼容服务三种开箱方案。
    • 通用解析机制:R-SWA 不局限于 OCR,论文指出同样适用于 ASR、翻译等需要长序列输出的任务。
    • 全链路开放:代码与模型权重均托管在 GitHub 与 Hugging Face,MIT 协议可商用。

    安装与快速上手

    项目环境要求:Python 3.12.3 + CUDA 12.9 通过验证;单张 NVIDIA GPU 即可体验。

    1. Transformers 快速体验

    # 依赖
    pip install torch==2.10.0 torchvision==0.25.0 transformers==4.57.1 Pillow==12.1.1
    pip install matplotlib==3.10.8 einops==0.8.2 addict==2.4.0 easydict==1.13 pymupdf==1.27.2.2 psutil==7.2.2
    
    # 加载模型
    from transformers import AutoModel, AutoTokenizer
    model_name = 'baidu/Unlimited-OCR'
    tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
    model = AutoModel.from_pretrained(model_name, trust_remote_code=True,
                                      use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()
    
    # 单图解析(gundam 配置:base_size=1024, image_size=640, crop_mode=True)
    model.infer(tokenizer, prompt='<image>document parsing.',
                image_file='your_image.jpg', output_path='./outputs',
                base_size=1024, image_size=640, crop_mode=True,
                max_length=32768, save_results=True)
    
    # 多页 / PDF
    model.infer_multi(tokenizer, prompt='<image>Multi page parsing.',
                      image_files=['page1.png', 'page2.png'], output_path='./outputs',
                      image_size=1024, max_length=32768, save_results=True)
    

    2. vLLM 生产部署

    # CUDA 13.0
    docker pull vllm/vllm-openai:unlimited-ocr
    # Hopper GPU 使用 cu129 镜像
    docker pull vllm/vllm-openai:unlimited-ocr-cu129
    # 官方 recipe: https://recipes.vllm.ai/baidu/Unlimited-OCR
    

    3. SGLang 批处理服务

    uv venv --python 3.12
    source .venv/bin/activate
    uv pip install wheel/sglang-*.whl kernels==0.11.7 pymupdf==1.27.2.2
    
    python -m sglang.launch_server --model baidu/Unlimited-OCR --served-model-name Unlimited-OCR \
      --attention-backend fa3 --page-size 1 --context-length 32768 \
      --enable-custom-logit-processor --disable-overlap-schedule \
      --skip-server-warmup --host 0.0.0.0 --port 10000
    
    # 并发批跑目录或 PDF
    python infer.py --pdf ./examples/document.pdf --output_dir ./outputs --concurrency 8 --image_mode gundam
    

    典型使用场景

    1. 学术论文整本转 Markdown:把 30 页 PDF 直接丢给模型,一次前向输出带标题层级、公式占位、表格结构的 Markdown,省去分块合并。
    2. RAG 知识库文档预处理:批量解析合同、手册、财报,保留原文版面和段落结构,作为高质量向量库原始文本。
    3. 票据与表格版面结构化:针对扫描发票、银行流水、Excel 截图等,输出键值对或 JSON 结构化结果。

    推荐理由

    最近大家注意力都在 Coding Agent 上,OCR 赛道反而被低估。Unlimited-OCR 真正的价值在于把「长序列输出」这件事做扎实了——R-SWA 让 KV Cache 不再线性膨胀,这是端到端文档理解从 demo 走向生产的关键。

    另外百度这次放出了完整的训练、推理、部署、微调(ms-swift)链路,并且兼容 vLLM / SGLang 两大推理框架,对工程落地非常友好。如果你在做 RAG、知识库、文档数字化,它很可能成为你管道里的默认 OCR 组件。

    资源下载

    • GitHub 仓库:https://github.com/baidu/Unlimited-OCR
    • Hugging Face 模型:https://huggingface.co/baidu/Unlimited-OCR
    • 在线 Demo:https://huggingface.co/spaces/baidu/Unlimited-OCR
    • arXiv 论文:https://arxiv.org/abs/2606.23050
    • ModelScope 模型:https://modelscope.cn/models/PaddlePaddle/Unlimited-OCR
    • 百度智能云:https://cloud.baidu.com/doc/OCR/s/fmr1p39gb
  • MinerU:让LLM读懂复杂文档的高精度解析引擎,72.5K+ Stars将PDF/Office转为AI可用格式

    MinerU:让LLM读懂复杂文档的高精度解析引擎,72.5K+ Stars将PDF/Office转为AI可用格式

    📄

    MinerU

    高精度文档解析引擎 · 专为 LLM / RAG / Agent 设计

    72.5K+ Stars
    🏷️ Python
    📜 MinerU License (Apache 2.0扩展)
    🏢 OpenDataLab 出品

    📌 项目简介

    MinerU 是一个将 PDF、DOCX、PPTX、XLSX、图片、网页等复杂格式文档,高精度转换为 Markdown / JSON 格式的开源工具,让 LLM 和 RAG 系统能够真正”读懂”非结构化文档。采用 VLM+OCR 双引擎,支持 109 种语言,是 AI 工作流中文档预处理的首选方案。

    🚀 核心功能

    📑

    多格式支持

    原生支持 PDF、DOCX、PPTX、XLSX、图片、网页,输出 Markdown / JSON 格式

    🔣

    公式+表格精准识别

    公式自动转为 LaTeX,表格自动转为 HTML,精准还原文档布局

    🌐

    109 种语言 OCR

    VLM+OCR 双引擎,支持扫描件、手写内容、多栏布局、跨页表格合并

    🔌

    原生 MCP / RAG 集成

    原生支持 MCP Server、LangChain、LlamaIndex、RAGFlow、Dify、FastGPT

    💻

    国产 AI 芯片适配

    支持昇腾、寒武纪、燧原、沐曦、摩尔线程、昆仑芯等 10+ 款国产芯片

    🐋

    多推理后端

    支持 pipeline / vlm-engine / hybrid-engine 三种后端,适配不同精度与速度需求

    ⚙️ 安装要求和过程

    环境要求

    依赖项 要求
    操作系统 Linux (2019+)、Windows 10+、macOS 14.0+
    Python 3.10 ~ 3.13(Windows 仅支持 3.10~3.12)
    内存 最低 16GB,推荐 32GB+
    GPU 显存 pipeline 后端最低 4GB;vlm/hybrid 后端最低 8GB

    快速安装(推荐)

    # 使用 uv 安装(推荐)
    pip install --upgrade pip
    pip install uv
    uv pip install -U "mineru[all]"
    
    # 命令行使用
    mineru -p <输入文件/目录> -o <输出路径>
    
    # 纯 CPU 运行
    mineru -p <输入> -o <输出> -b pipeline

    Docker 部署

    # 仅支持 Linux / WSL2
    docker run -p 8000:8000 --gpus all opendatalab/mineru:latest

    💡 典型使用场景

    📚 RAG 知识库文档预处理

    将企业知识库中的 PDF 技术文档、Word 操作手册、PPT 培训材料批量转换为 Markdown,注入 RAG 系统,使 LLM 能够基于真实文档内容作答,避免幻觉。

    🤖 AI Agent 文档理解增强

    AI Agent 在回答用户问题时,先通过 MinerU 解析相关文档,提取结构化内容后再进行推理,大幅提升回答的准确性和可溯源性。原生 MCP Server 可直接对接 Claude/Cursor/Windsurf。

    🌏 多语言文档批量处理

    处理跨国企业的多语言合同、技术规格书(支持 109 种语言),通过 OCR+VLM 双引擎准确识别双语混排、公式、表格等复杂内容。

    ✨ 推荐理由

    MinerU 解决了 AI 工作流中一个极其关键的痛点:非结构化文档的精准解析。对于 RAG 应用来说,文档解析质量直接决定最终效果——解析出错,检索再准也没用。

    我个人最喜欢它的三个设计:① 双引擎架构(pipeline 速度快,vlm-engine 精度高,可按需切换);② 原生 MCP 支持,直接让 AI 编程助手具备文档理解能力;③ 国产芯片适配,真正自主可控。

    相比同类工具(如 Unstructured、PyPDF2),MinerU 在复杂布局还原、公式识别、表格合并等方面明显更胜一筹,这也是它能获得 72.5K Stars 的核心原因。

    自动化任务 于 2026-07-01 发布 · 数据来源:GitHub