Xiaomi-OCR-0 是一个统一的 0.8B 视觉语言模型,面向文档解析与 OCR 中心理解。模型以 Qwen3.5-0.8B 为起点,在约 1.7 亿条 OCR 中心样本上训练,采用 Q-Mask 文本锚定、继续预训练(CPT)和混合任务强化学习(Mix-RL)。
## 🏆 Benchmark 成绩与排名
- 🥇 Real5-OmniDocBench 得分 **95.24**,排名 **第 1**。
- 🥈 OmniDocBench v1.6 得分 **96.83**,Wild-OmniDocBench 得分 **87.94**,两项均排名 **第 2**。
- 📐 UniMER-Test (公式识别) 得分 **97.84**,PubTabNet(表格识别) 得分 **92.27** 。
- ✍️ 历史手写与书法:Chronicles-OCR Mature Scripts(隶书、草书、行书、楷书)得分 **73**,与 Seed 2.0 Pro(72)能力相当。
- 🧠 五项 OCR 中心 VQA 基准平均分 **83.2**,以 **0.8B** 参数超过 Qwen3.5-2B(**80.9)**。
上述文档解析基准(Real5-OmniDocBench、OmniDocBench v1.6 和 Wild-OmniDocBench)均使用两阶段(2stage)方法评测,具体流程见 [evaluation_pipeline](evaluation_pipeline/README_zh.md)。
## 📰 更新日志
- **2026-10-08:** 感谢社区对 Xiaomi-OCR-0 的支持与贡献:[prithivMLmods 的 GGUF 版本](https://huggingface.co/prithivMLmods/Xiaomi-OCR-0-GGUF)、[xzl01 的 GGUF 版本](https://github.com/xzl01/Xiaomi-OCR-0-GGUF),以及 [ByronLeeee 的 BF16 NInfer 转换版](https://huggingface.co/ByronLeeee/Xiaomi-OCR-0-Ninfer)。
- **2026-09-30:** 技术报告发布、模型权重开源。
## 能力
- **文档解析:** 识别文档页面并输出结构化 Markdown,模型输出的 OTSL 表格由后处理转换为 Markdown 中的 HTML 表格,公式使用 LaTeX。
- **关键信息抽取(KIE):** 按指定字段提取 JSON。
- **OCR 视觉问答(VQA):** 回答文档图像中的文字与内容问题。
- **本地 Agent 工具:** MCP 服务负责提示词、PDF/图像预处理、可选区域检测、裁剪并发推理和结果组装。
- **浏览器 Demo:** 通过本地网页体验整页和区域解析。
印刷、版式规整的文档适合使用区域解析,可以检测区域并发处理。场景文字、手写笔记、书法、古籍和版式不规则的材料建议使用整页解析,避免区域边界切错后丢失上下文。
## 仓库内容
| 路径 | 内容 |
|:--|:--|
| [`skills/xiaomi-ocr/`](skills/xiaomi-ocr/) | Agent Skill 与 MCP 服务,支持 OCR、PDF 解析、KIE 和 VQA |
| [`demo/`](demo/) | 本地浏览器 Demo 和样例 |
| [`example_pics/`](example_pics/) | 与 Hugging Face 模型仓库同步的示例输入、参考 Markdown 和演示动画 |
| [`evaluation_pipeline/`](evaluation_pipeline/) | 整页 / 两阶段推理与评测复现 |
| [`postprocess/`](postprocess/) | 表格转换、公式/文本组装与重复内容处理 |
| [Hugging Face model](https://huggingface.co/SeerRay-Lab/Xiaomi-OCR-0) | huggingface模型卡片、示例和基准图表
| [Model Scope model](https://www.modelscope.cn/models/SeerRay-Lab/Xiaomi-OCR-0) | modelscope模型卡片、示例和基准图表|
| [Hugging Face Space](https://huggingface.co/spaces/SeerRay-Lab/Xiaomi-OCR-0/tree/main) | Space 资源和项目页源码 |
| [`examples/`](examples/) | MCP 配置示例 |
## 安装
选择以下两种安装方式之一:
- [在 Agent 中体验](#在-agent-中体验):由 Agent 安装本地模型并配置 MCP 服务。
- [手动安装](#手动安装):自行获取代码、选择推理运行环境并启动浏览器 Demo。
### 在 Agent 中体验
> ⚠️ **注意:** 经你授权后,这个 Skill 可能会创建 Python 环境、安装依赖、下载模型权重、安装并配置所选推理运行环境(SGLang、vLLM 或 Ollama),以及注册 MCP 服务。模型和版面分析权重可能较大。如果你不同意这种安装流程,请不要执行下面的命令。
复制下面这句话发送给你的 Agent:
```
Read and execute https://raw.githubusercontent.com/SeerRay-Lab/Xiaomi-OCR-0/main/SKILL.md
```
模型将在你的机器上运行。完整安装时,Agent 会在你授权的安装范围内,一并安装区域识别所需的 PaddlePaddle、PaddleX 和 PP-DocLayoutV3,并验证区域解析。你也可以指定只安装整页模式;如果当前平台不支持区域依赖,Agent 会说明限制。
### 手动安装
需要 Python 3.10 或更高版本。先获取代码,再选择 **一种**推理运行环境:[SGLang / vLLM](#sglang--vllm) 或 [Ollama](#ollama实验性)。如果需要区域解析,还需安装[可选的版面分析依赖](#可选区域模式依赖)。
手动配置 MCP 服务见 [INSTALL.md](INSTALL.md),Ollama 专用配置见 [OLLAMA.md](OLLAMA.md)。
#### 获取代码
```bash
git clone https://github.com/SeerRay-Lab/Xiaomi-OCR-0.git
cd Xiaomi-OCR-0
```
#### SGLang / vLLM
不安装 Agent Skill 或 MCP 服务也能运行网页 Demo。Demo 会向本机的 SGLang 或 vLLM 服务 `http://127.0.0.1:8000/v1` 发送请求。
##### 1. 安装推理运行环境
如果上述地址已经运行兼容的本地模型服务,可以直接跳到第 3 步。否则,选择 **一种**运行环境,并按你的操作系统、GPU 和驱动版本查看安装指南。运行环境有硬件要求,官方指南列出了支持的平台和安装方式:
- [SGLang 安装指南](https://docs.sglang.ai/get_started/install.html) · [支持的模型](https://docs.sglang.io/docs/supported-models/multimodal_language_models.md)
- [vLLM GPU 安装指南](https://docs.vllm.ai/en/latest/getting_started/installation/gpu/) · [Qwen3.5 模型支持](https://docs.vllm.ai/en/latest/api/vllm/model_executor/models/qwen3_5/)
选择支持 `Qwen3_5ForConditionalGeneration` 架构的版本。macOS 和非 NVIDIA 设备请先查看运行环境的平台支持说明;下面的默认启动命令适用于兼容的 GPU 环境。
##### 2. 启动 Xiaomi-OCR-0
在终端中运行下面 **其中一条**命令。如果本地缓存中没有模型,首次启动时会从 Hugging Face 下载权重。使用 Demo 时请保持这个终端运行。
SGLang:
```bash
python -m sglang.launch_server --model-path SeerRay-Lab/Xiaomi-OCR-0 \
--host 127.0.0.1 --port 8000 --context-length 16384
```
vLLM:
```bash
vllm serve SeerRay-Lab/Xiaomi-OCR-0 \
--host 127.0.0.1 --port 8000 --max-model-len 16384
```
等待模型加载完成后再继续。
##### 3. 启动浏览器 Demo
在仓库目录中另开一个终端,运行:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python demo/server.py --port 8787
```
打开