面壁开源 MiniCPM-OCR 1.0 模型,1.3B 参数主打文档解析
openbmb/MiniCPM-OCR-1.0
面壁发布 MiniCPM-OCR 1.0,这是 MiniCPM-V/o 系列首个 OCR 专用模型,参数量 1.3B,基于 MiniCPM-V 4.6 训练,采用 SigLIP 视觉编码器加 Qwen3.5 语言模型。
面壁开源 1.3B 的 OCR 专用模型,给出四个文档解析基准成绩与吞吐对比,可据此判断文档解析选型。
MiniCPM-OCR 1.0(1.3B)是 MiniCPM-V/o 系列中首个专用于 OCR 的模型。它专注于以文本为中心的文档理解——文本、表格、公式、图表、印章以及结构化信息抽取——并在真实场景拍摄的图片上兼顾质量与速度。
亮点
- 🏆 SOTA 文档解析:在面向真实场景文档解析的基准 Real5-OmniDocBench 上取得 93.68,并在 OmniDocBench v1.6、Wild-OmniDocBench 和 olmOCR-Bench 上取得领先结果。可处理中英文文档和 PDF,包括扫描件、弯曲页面、照片、倾斜页面和翻拍文档。
- ⚡ 高效推理。借助 DSpark 解码加速 (BF16、GGUF),端到端 处理效率提升 55%。吞吐量约为 PaddleOCR-VL-1.6 的 1.49×, 为 MinerU2.5 Pro 的 3.62×。
- 🔍 通用识别与信息抽取:在 OCRBench v2 上取得 54.7,并支持面向下游自动化的关键 信息抽取(KIE)。
- 🛠️ 易于部署和开发:首日即支持 vLLM、SGLang、llama.cpp 和 Ollama,并提供 量化版本和多芯片构建。支持进一步微调,并附带 pip SDK、 完整 API 和智能体工作流。在线演示:中国 · 全球。
更高吞吐下的 SOTA 质量
在参与对比的开源 OCR 模型中,MiniCPM-OCR 1.0 达到 1.2 页/秒,并在 OmniDocBench v1.6、Real5-OmniDocBench、 Wild-OmniDocBench 和 olmOCR-Bench 上取得最高的等权平均分。

平均分是四个基准的等权平均值。所有模型均使用 加速配置。设置与复现方法见 复现指南。 各模型吞吐量见 模型指南。
基准对比

MiniCPM-OCR 1.0 完整评测结果


每个面板保留各自基准的分数;越高越好。不同 基准的分数不能直接比较。测试设置与复现步骤见 复现指南;各基准的讨论见 模型指南。
吞吐量
在 NVIDIA GeForce RTX 5090 上,使用 OmniDocBench v1.6 的全部 1651 张图片、图像级并发 1, 并采用各系统的加速配置,MiniCPM-OCR 1.0 达到 1.2 页/秒 (相对吞吐量 1.00×;越高越快)。

并发 1 是图像级的:页面内部的区域仍会并行识别。 实际吞吐量还取决于页面内容、后端、并发数和硬件。
示例
从左到右:原始文档、检测到的版面、渲染后的 Markdown。
英文文档

中文文档

更多示例
原始文档与解析结果并排展示。
英文文档

中文文档

模型架构
| 项目 | 说明 |
|---|---|
| 参数量 | 1.3B |
| 基础模型 | 在 MiniCPM-V 4.6 基础上针对 OCR 训练 |
| 组件 | SigLIP 视觉编码器 + Qwen3.5 语言模型 |
| 主要语言 | 中文和英文 |
| 任务 | 文本、表格、公式、图表、印章以及关键信息抽取 |
| 解析流水线 | MiniCPM-OCR 1.0 + PP-DocLayoutV3 版面模型 + minicpmvocr SDK |
| 视觉 token | 4× 压缩,scale_resolution 448,最多 9 个切片 |
有关架构、解析工作流、部署选项和基准测试明细,请参阅模型指南。
快速开始
文档解析(SDK)
SDK 解析整份文档;模型识别区域:
- 读取 — 接受 PDF/PNG/JPG,并将 PDF 页面栅格化。
- 布局 — PP-DocLayoutV3 检测区域和阅读顺序,然后裁剪这些区域。
- 识别 — 区域被并发发送到 MiniCPM-OCR 1.0 服务。
- 组装 — 结果按阅读顺序合并为 Markdown;表格转为 HTML,公式保持 LaTeX。
SDK 和推理服务使用独立的 Python 环境,可能运行在不同的机器上。请参阅SDK 教程。
vLLM
vllm serve openbmb/MiniCPM-OCR-1.0 \
--served-model-name MiniCPM-OCR \
--trust-remote-code \
--max-model-len 40960
完整 API 示例(请求字段、图像编码、响应检查):vLLM 部署指南。
其他运行时
| 运行时 | 指南 |
|---|---|
| vLLM | API 服务和单区域识别 |
| SGLang | 部署指南 |
| llama.cpp | GGUF 部署指南 |
| Ollama | SDK 服务连接和后端配置 |
| Transformers | 服务部署 |
| FlagOS(多芯片) | 部署指南 |
提示词
提示词用于选择任务,并且必须与你裁剪的区域相匹配:
| 区域 | 提示词 | 输出 |
|---|---|---|
| 文本块 / 段落 / 标题 / 页面 | Text Recognition: |
纯文本 |
| 表格 | Table Recognition: |
HTML(通过 SDK 后处理) |
| 公式 | Formula Recognition: |
LaTeX |
| 行内公式 | Text Recognition: |
LaTeX |
| 印章 | Seal Recognition: |
印章文字 |
| 图表 | Chart to Table: |
表格 |
如果 finish_reason 为 length,则输出已被截断——请提高 token 预算。
关键信息提取(KIE)
MiniCPM-OCR 1.0 可以直接从图像中提取指定字段——例如收据上的店名和金额。发送图像时附带字段提取提示词,并要求返回 JSON 对象;你无需先生成页面 Markdown。
使用图像识别 API 示例,并将 Text Recognition: 替换为:
Extract the "store_name", "amount". Format the output as a JSON object with keys: "store_name", "amount". If an item is not in the image, use "###".
将两个字段列表替换为你自己的字段名(中文或英文)。响应是模型生成的文本:在下游使用之前,请解析 JSON 并检查字段和值。
Agent 技能
让编码 Agent 按照该技能设置环境、下载模型并解析第一份文档:
Read and execute https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/SKILL_en.md
微调
LLaMA-Factory · ms-swift — 数据准备、冻结多模态投影器的全参数 SFT、训练和评估(法语手写文本行)。
相关检查点
| 格式 | HF Mirror | ModelScope |
|---|---|---|
| BF16(原始)(本仓库) | 🤗 | ModelScope |
| GGUF(llama.cpp) | 🤗 | ModelScope |
| AWQ W4A16 | 🤗 | ModelScope |
| GPTQ W4A16 | 🤗 | ModelScope |
| DSpark 草稿模型(BF16) | 🤗 | ModelScope |
| DSpark 草稿模型(GGUF) | 🤗 | ModelScope |
DSpark 要求主模型和草稿模型来自同一发布版本且相互匹配——不要将草稿权重与不同的主检查点混用。请参阅DSpark 加速。
有关 OCR 质量评估(自动接受、人工审核路由、跨模型 best-of-N),请参阅MiniCPM-OCR Jev。
常见问题
安装、模型下载、GPU 内存、输入格式和意外输出:常见问题。
许可证
模型权重、代码和文档均在Apache License 2.0 下发布。
来源:面壁 MiniCPM 模型发布 · hf-mirror.com