多模态AI和文档解析的兴起,就像给OCR装上了“超级大脑”,通过视觉和语言的结合,精准理解文档结构。
以往用的一些OCR工具经常“翻车”,复杂的页面布局让解析结果面目全非。
而现在随着多模态AI技术的迅速发展,催生了许多能够精准解析复杂文档的AI模型或应用,让我们的文档处理效率直接起飞!
最近,字节跳动(ByteDance)又开源了一款多模态模型:Dolphin,一个专注于复杂文档解析的多模态AI模型。
它通过两阶段“分析-解析”机制,先梳理页面布局,再并行处理文本、表格、公式等元素,兼顾精准性和效率。
完全开源,模型可自主下载,支持输出结构化JSON或Markdown,完全能够跑在普通设备上!官方还专门搭建有在线 Demo 可体验!
Dolphin 的核心解析机制
文档图像解析因其复杂交织的元素(如文本段落、图表、公式和表格)而具有挑战性。所以 Dolphin 通过两阶段方法解决这些挑战:
阶段 1:通过生成自然阅读顺序中的元素序列,进行全面的页面级布局分析。
阶段 2:使用异构锚点和任务特定提示高效并行解析文档元素。
Dolphin 在各种页面级和元素级解析任务中表现出色,同时通过其轻量级架构和并行解析机制确保了卓越的效率。
主要功能
页面级解析:支持将整个文档图像解析为结构化格式,输出 JSON(便于数据处理)和 Markdown(便于阅读和编辑)。
元素级解析:可以专门对文本、表格、公式等结构做定向识别与分类。
自然阅读顺序识别:模拟人类阅读习惯,生成符合逻辑的元素序列,避免传统 OCR 常见的结构混乱问题。
并行处理机制:通过轻量架构和并行解析机制,大幅提升处理速度。
双推理模式:即页面级解析与元素级解析,非常灵活。
在线 Demo 提供:免部署在线体验,可快速体验效果。
快速入门
Dolphin 的安装和使用非常友好,官方提供详细文档和Hugging Face模型,支持在全平台上使用。
首先官方也是专门部署了一套 Gradio 界面,用以体验 Dolphin 的全部功能。
体验Demo:http://115.190.42.15:8888/dolphin/
只需上传需要解析的PDF文档或图片即可快速解析,生成Json或Markdown格式的内容。
自定义本地部署指南:
① 克隆项目
git clone https://github.com/ByteDance/Dolphin.gitcd Dolphin
② 安装依赖项
pip install -r requirements.txt
③ 下载预训练模型(也可以滑动到文末获取模型文件)
可以通过 HF 模型平台直接下载,并将它们放入./checkpoints文件夹中。或是通过代码下载。
git lfs installgit clone https://huggingface.co/ByteDance/Dolphin ./hf_model# 或使用 Hugging Face CLIhuggingface-cli download ByteDance/Dolphin --local-dir ./hf_model
页面级解析
# 1. 处理单个文档图像# 方式1:使用原始框架-基于配置python demo_page.py --config ./config/Dolphin.yaml --input_path ./demo/page_imgs/page_1.jpeg --save_dir ./results# 方式2:使用 Hugging Face 框架python demo_page_hf.py --model_path ./hf_model --input_path ./demo/page_imgs/page_1.jpeg --save_dir ./results# 2. 处理目录中的所有文档图像# 方式1:使用原始框架-基于配置python demo_page.py --config ./config/Dolphin.yaml --input_path ./demo/page_imgs --save_dir ./results# 方式2:使用 Hugging Face 框架python demo_page_hf.py --model_path ./hf_model --input_path ./demo/page_imgs --save_dir ./results# 3. 使用自定义批量大小进行并行元素解码# 方式1:使用原始框架-基于配置python demo_page.py --config ./config/Dolphin.yaml --input_path ./demo/page_imgs --save_dir ./results --max_batch_size 8# 方式2:使用 Hugging Face 框架python demo_page_hf.py --model_path ./hf_model --input_path ./demo/page_imgs --save_dir ./results --max_batch_size 16
元素级解析
# 1. 处理单个表格图像# 方式1:使用原始框架-基于配置python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/table_1.jpeg --element_type table# 方式2:使用 Hugging Face 框架python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/table_1.jpeg --element_type table# 2. 处理单个公式图像# 方式1:使用原始框架-基于配置python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula# 方式2:使用 Hugging Face 框架python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/line_formula.jpeg --element_type formula# 3. 处理单个文本段落图像# 方式1:使用原始框架-基于配置python demo_element.py --config ./config/Dolphin.yaml --input_path ./demo/element_imgs/para_1.jpg --element_type text# 方式2:使用 Hugging Face 框架python demo_element_hf.py --model_path ./hf_model --input_path ./demo/element_imgs/para_1.jpg --element_type text
应用场景示例
学术论文整理:自动提取标题结构、图表、公式,并转为 Markdown
教辅试题解析:精准提取数学题文字与公式,并输出为结构化数据
扫描文档数字化:多页批量处理,生成可编辑内容
合同/表格结构提取:识别页眉页脚、段落、表格、页码等并输出 JSON
RAG问答预处理:将结构化内容送入向量库,提升问答召回质量
AI 读图系统接入:与 LLM 结合,生成更精确、更上下文相关的文档回答或摘要
写在最后
复杂文档解析从来不是轻松活:表格乱码、公式丢失、布局混乱,让传统OCR工具望而却步。
Dolphin 的出现,就像给文档解析装上了“多模态引擎”。
它通过两阶段解析(布局分析+并行处理),精准提取文本、表格、公式,输出JSON/Markdown,效率和精度碾压传统OCR。
而且该模型已经是字节本月开源的第三款AI多模态模型了(我所接触了解到的),字节跳动的开源精神值得称赞!开源代码、Hugging Face 模型和在线 Demo 更是降低了门槛,小白也能轻松上手!
无论是解析学术论文、转换财务报告,还是批量处理扫描文档,Dolphin 都能让你省时省力。
GitHub 项目地址:github.com/bytedance/D…