最近ChatDOC团队发布了一款非常实用的多模态 OCR 大模型:OCRFlux-3B,这是一个基于 Qwen2.5-VL-3B-Instruct 微调得到的模型,专为文档解析任务优化,在解析 PDF、图片内容为 Markdown文本的效果上非常亮眼,尤其值得一提的是,它原生支持跨页表格与段落合并,这是目前开源 OCR 项目中首次实现该能力的模型。
模型定位
OCRFlux-3B本质上是一个轻量级的视觉语言模型,参数量为 3B,可以在消费级显卡(如 3090)上运行。其核心功能是将 PDF、扫描图像等文档转化为结构清晰、格式合理的 Markdown 文本,适用于文档数字化、知识抽取等任务。适用场景包括:
● 批量文档解析(支持千万级处理规模)
● 结构化信息抽取(如表格、段落)
● 支持中英文混排文档
● 兼容跨页内容合并
主要特性亮点
高精度文本解析能力
在官方自建基准集 OCRFlux-bench-single(含 2000 页 PDF 中英文文档)上,OCRFlux-3B 在EDS指标上表现如下:
模型 | 英文 EDS | 中文 EDS | 综合 |
---|---|---|---|
olmOCR-7B | 0.885 | 0.859 | 0.872 |
Nanonets-OCR-s | 0.870 | 0.846 | 0.858 |
MonkeyOCR | 0.828 | 0.731 | 0.780 |
OCRFlux-3B | 0.971 | 0.962 | 0.967 |
相比其他主流开源 OCR 模型,OCRFlux-3B 提升非常明显,尤其在中文场景下依然表现稳定。
EDS指标为Edit Distance Similarity,即编辑距离相似度,是一个度量两个字符序列之间差异的字符串度量标准。
跨页结构智能合并(业内首个开源支持)
PDF 文档中,表格、段落跨页是常见现象。OCRFlux-3B 原生支持这类结构的智能检测与合并,具体包括:
● 段落合并:自动识别换页中断的段落并拼接
● 表格合并:能处理重复表头、跨行/跨列、多行单元格的表格
● 复杂表格识别:可识别横向分页(大宽表被切开)、嵌套结构等
在 OCRFlux-bench-cross 基准上,其跨页结构合并检测的综合 F1 高达 0.986,中文样本中准确率甚至达到 99.4%。
表格解析能力
OCRFlux-3B 同时支持 HTML 格式的表格结构输出。其在 OCRFlux-pubtabnet-single 基准(共 9064 个表格)上的表现如下:
模型 | 简单表格 | 复杂表格 | 综合 TEDS |
---|---|---|---|
olmOCR-7B | 0.810 | 0.676 | 0.744 |
MonkeyOCR | 0.880 | 0.826 | 0.853 |
OCRFlux-3B | 0.912 | 0.807 | 0.861 |
OCRFlux-3B 在简单与复杂表格上都有竞争力,适合后续结构化处理场景。
TEDS 指标用于衡量表格结构还原的相似度。
模块拆解
OCRFlux 不仅提供了模型本体,还构建了完整的多文档批处理 pipeline,适用于生产场景,便于二次开发和功能拆解。
主入口
● 脚本:pipeline.py
● 功能:批量调度 PDF 或图像的解析任务,结合 vllm 模型服务,实现高效的分布式推理。
● 特点:
○ 支持任务并发(--workers)
○ 支持失败页重试、最大错误率控制
○ 可按页分组处理(--pages_per_group)
○ 可跳过跨页结构合并(--skip_cross_page_merge)
后处理工具
● 脚本:jsonl_to_markdown.py
● 功能:将模型输出的 JSONL 格式转为最终 Markdown 文件。
● 支持解析每页元素结构(段落、表格)并拼接为完整文档。
页级解析能力评估
● 脚本:eval_page_to_markdown.py
● 用途:评估单页 Markdown 输出与人工标注结果的相似度。
● 指标:使用 Edit Distance Similarity(EDS)作为衡量标准。
表格结构识别评估
● 脚本:eval_table_to_html.py
● 功能:衡量输出 HTML 表格与真实表格结构的相似度。
● 指标:TEDS(Tree Edit Distance-based Similarity)
跨页结构检测能力评估
● 脚本:eval_element_merge_detect.py
● 功能:检测两页之间是否存在需要合并的段落/表格,并输出对应元素索引。
● 指标:准确率、召回率、F1
跨页表格合并质量评估
● 脚本:eval_html_table_merge.py
● 功能:将前后两页的表格 fragment 输入模型,输出合并后的完整表格,计算其与标注值的 TEDS 相似度。
● 难点场景处理:
○ 表头重复去重
○ 单元格内容换页拼接
○ 多列跨页对齐
快速上手体验
官方提供了在线 Demo 地址,可以直接上传 PDF 查看解析效果:
👉 https://ocrflux.pdfparser.io
另外还支持 API 和 Docker 本地部署,下面是最简代码调用示例:
python
from vllm import LLM
from ocrflux.inference import parse
llm = LLM(model="model_dir/OCRFlux-3B", gpu_memory_utilization=0.8)
result = parse(llm, 'test.pdf')
with open('test.md', 'w') as f:
f.write(result['document_text'])
或者使用 Docker:
bash
docker run -it --gpus all \
-v /path/to/localworkspace:/localworkspace \
-v /path/to/test_pdf_dir:/test_pdf_dir/ \
-v /path/to/OCRFlux-3B:/OCRFlux-3B \
chatdoc/ocrflux:latest /localworkspace --data /test_pdf_dir/* --model /OCRFlux-3B/
解析完成后,Markdown 文件将保存在 ./localworkspace/markdowns/ 目录中。
总结
OCRFlux-3B 是目前业内首个开源支持跨页结构智能合并的模型,不仅精度高,而且支持关键的结构化能力,并且能够在消费级硬件上运行,实用性极高。
如果你正在做文档结构提取、知识库构建或企业文档数字化系统,不妨试试OCRFlux-3B,它可能会是目前最具性价比的选择之一。