← Open Source
bytedance

Dolphin

The official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 2025.

AI EngineeringGive agent knowledgePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
9.06k
Stars
775
Forks
+2
This week
3
Contributors
Created 2025-05-13 · Updated 2026-10-15 · #7087 today
Top developers
fh2019ustcAndExp0Anfankus

bytedance/Dolphin is ranked 7,087 with 9,065 stars.

Same-category comparison

bytedance/Dolphin is ranked 7,087 among these 8 peers; OlafenwaMoses/ImageAI is ranked 7,095.

Same-category comparison
NameRankMetrics
aden-hive/hive7,025
Language:
Python
Stars:
11,108
Forks:
5,652
Description:
Multi-Agent Harness for Production AI.
numman-ali/openskills7,038
Language:
TypeScript
Stars:
10,783
Forks:
668
Description:
Universal skills loader for AI coding agents - npm i -g openskills.
KoljaB/RealtimeSTT7,056
Language:
Python
Stars:
10,190
Forks:
862
Description:
A robust, efficient, low-latency speech-to-text library with advanced voice activity detection, wake word activation and instant transcription.
awslabs/mcp7,069
Language:
Python
Stars:
9,782
Forks:
1,812
Description:
Open source MCP Servers for AWS.
OlafenwaMoses/ImageAI7,095
Language:
Python
Stars:
8,896
Forks:
2,179
Description:
A python library built to empower developers to build applications and systems with self-contained Computer Vision capabilities.
bytedance/flowgram.ai7,108
Language:
TypeScript
Stars:
8,493
Forks:
776
Description:
FlowGram is an extensible workflow development framework with built-in canvas, form, variable, and materials that helps developers build AI workflow platforms faster and simpler.
ogx-ai/ogx7,112
Language:
Python
Stars:
8,441
Forks:
1,393
Description:
Open GenAI Stack.
mikel-brostrom/boxmot7,116
Language:
Python
Stars:
8,313
Forks:
1,917
Description:
BoxMOT: Pluggable Python and C++ SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryAI Engineering
SubcategoryGive agent knowledge
KeywordsContext engineering, Data processing, Unstructured data extraction
Stars9,065
Forks775
Contributors3
Created date2025-05-13
Updated date2026-10-15
Stars in 1 day0
Stars in 7 days2
Rank7,087
Previous rank7,267
Rank change180
7-day stars rank7,489
Previous 7-day stars rank4,950
7-day stars rank change-2,539
Total stars rank1,595
Previous total stars rank1,593
Total stars rank change-2
CountryChina
README summary

Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting Dolphin-v2 is an enhanced universal document parsing model that substantially improves upon the original Dolphin. 📑 Overview Document image parsing is challenging due to diverse document types and complexly intertwined elements such as text paragraphs, figures, formulas, tables, and code blocks. Dolphin-v2 addresses these challenges through a document-type-aware two-stage approach: 1. **🔍 Stage 1**: Document type classification (digital vs. photographed) + layout analysis with reading order prediction 2. **🧩 Stage 2

**: Hybrid parsing strategy - holistic parsing for photographed documents, parallel element-wise parsing for digital documents Dolphin achieves promising performance across diverse page-level and element-level parsing tasks while ensuring superior efficiency through its lightweight architecture and parallel parsing mechanism. Upgraded to 3B parameters with 21-element detection, attribute field extraction, dedicated formula/code parsing, and robust photographed document parsing. 3B architecture, this version achieves significant parsing improvements. 10** Released the *Fox-Page Benchmark*, a manually refined subset of the

original Fox dataset. 30** Added TensorRT-LLM support for accelerated inference! 27** Added vLLM support for accelerated inference! 13** Added multi-page PDF document parsing capability. 20** The pretrained model and inference code of Dolphin are released. 16** Our paper has been accepted by ACL 2025. Download the pre-trained models of *Dolphin-v2*: Visit our Huggingface model card, or download model by: ⚡ Inference Dolphin provides two inference frameworks with support for two parsing granularities: **Page-level Parsing**: Parse the

entire document page into a structured JSON and Markdown format **Element-level Parsing**: Parse individual document elements (text, table, formula) 📄 Page-level Parsing 🧩 Element-level Parsing bibtex @article{feng2025dolphin, title={Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting}, author={Feng, Hao and Wei, Shu and Fei, Xiang and Shi, Wei and Han, Yingdong and Liao, Lei and Lu, Jinghui and Wu, Binghong and Liu, Qi and Lin, Chunhui and others}, journal={arXiv preprint arXiv:2505.

Frequently asked questions

How many stars and forks are recorded?

bytedance/Dolphin has 9,065 stars and 775 forks.

What is the repository rank?

bytedance/Dolphin is ranked 7,087.

What language and category are recorded?

bytedance/Dolphin has 9,065 stars, uses Python and belongs to AI Engineering.

Which repository is closest in rank?

bytedance/Dolphin is compared with OlafenwaMoses/ImageAI, ranked 7,095 with 8,896 stars.

README

Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting

Dolphin-v2 is an enhanced universal document parsing model that substantially improves upon the original Dolphin. It seamlessly handles any document type—whether digital-born or photographed—through a document-type-aware two-stage architecture with scalable anchor prompting.

📑 Overview

Document image parsing is challenging due to diverse document types and complexly intertwined elements such as text paragraphs, figures, formulas, tables, and code blocks. Dolphin-v2 addresses these challenges through a document-type-aware two-stage approach:

  1. 🔍 Stage 1: Document type classification (digital vs. photographed) + layout analysis with reading order prediction

  2. 🧩 Stage 2: Hybrid parsing strategy - holistic parsing for photographed documents, parallel element-wise parsing for digital documents

Dolphin achieves promising performance across diverse page-level and element-level parsing tasks while ensuring superior efficiency through its lightweight architecture and parallel parsing mechanism.

📅 Changelog

  • 🔥 2025.12.12 Released Dolphin-v2 model. Upgraded to 3B parameters with 21-element detection, attribute field extraction, dedicated formula/code parsing, and robust photographed document parsing. (Dolphin-1.5 moved to v1.5 branch)
  • 🔥 2025.10.16 Released Dolphin-1.5 model. While maintaining the lightweight 0.3B architecture, this version achieves significant parsing improvements. (Dolphin 1.0 moved to v1.0 branch)
  • 🔥 2025.07.10 Released the Fox-Page Benchmark, a manually refined subset of the original Fox dataset. Download via: Baidu Yun | Google Drive.
  • 🔥 2025.06.30 Added TensorRT-LLM support for accelerated inference!
  • 🔥 2025.06.27 Added vLLM support for accelerated inference!
  • 🔥 2025.06.13 Added multi-page PDF document parsing capability.
  • 🔥 2025.05.21 Our demo is released at link. Check it out!
  • 🔥 2025.05.20 The pretrained model and inference code of Dolphin are released.
  • 🔥 2025.05.16 Our paper has been accepted by ACL 2025. Paper link: arXiv.

📈 Performance

Comprehensive evaluation of document parsing on OmniDocBench (v1.5)

Model

Size

Overall↑

TextEdit↓

FormulaCDM↑

TableTEDS↑

TableTEDS-S↑

Read OrderEdit↓

Dolphin

0.3B

74.67

0.125

67.85

68.70

77.77

0.124

Dolphin-1.5

0.3B

85.06

0.085

79.44

84.25

88.06

0.071

Dolphin-v2

3B

89.78

0.054

87.63

87.02

90.48

0.054

🛠️ Installation

  1. Clone the repository:

    git clone https://github.com/ByteDance/Dolphin.git
    cd Dolphin
    
  2. Install the dependencies:

    pip install -r requirements.txt
    
  3. Download the pre-trained models of Dolphin-v2:

    Visit our Huggingface model card, or download model by:

    # Download the model from Hugging Face Hub
    git lfs install
    git clone https://huggingface.co/ByteDance/Dolphin-v2 ./hf_model
    # Or use the Hugging Face CLI
    pip install huggingface_hub
    huggingface-cli download ByteDance/Dolphin-v2 --local-dir ./hf_model
    

⚡ Inference

Dolphin provides two inference frameworks with support for two parsing granularities:

  • Page-level Parsing: Parse the entire document page into a structured JSON and Markdown format
  • Element-level Parsing: Parse individual document elements (text, table, formula)

📄 Page-level Parsing

# Process a single document image
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_1.png 

# Process a single document pdf
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_6.pdf 

# Process all documents in a directory
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs 

# Process with custom batch size for parallel element decoding
python demo_page.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs \
    --max_batch_size 8

🧩 Element-level Parsing

# Process element images (specify element_type: table, formula, text, or code)
python demo_element.py --model_path ./hf_model --save_dir ./results \
    --input_path  \
    --element_type [table|formula|text|code]

🎨 Layout Parsing

# Process a single document image
python demo_layout.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_1.png \
    
# Process a single PDF document
python demo_layout.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs/page_6.pdf \

# Process all documents in a directory
python demo_layout.py --model_path ./hf_model --save_dir ./results \
    --input_path ./demo/page_imgs 

🌟 Key Features

  • 🔄 Two-stage analyze-then-parse approach based on a single VLM
  • 📊 Promising performance on document parsing tasks
  • 🔍 Natural reading order element sequence generation
  • 🧩 Heterogeneous anchor prompting for different document elements
  • ⏱️ Efficient parallel parsing mechanism
  • 🤗 Support for Hugging Face Transformers for easier integration

📮 Notice

Call for Bad Cases: If you have encountered any cases where the model performs poorly, we would greatly appreciate it if you could share them in the issue. We are continuously working to optimize and improve the model.

💖 Acknowledgement

We would like to acknowledge the following open-source projects that provided inspiration and reference for this work:

📝 Citation

If you find this code useful for your research, please use the following BibTeX entry.

@article{feng2025dolphin,
  title={Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting},
  author={Feng, Hao and Wei, Shu and Fei, Xiang and Shi, Wei and Han, Yingdong and Liao, Lei and Lu, Jinghui and Wu, Binghong and Liu, Qi and Lin, Chunhui and others},
  journal={arXiv preprint arXiv:2505.14059},
  year={2025}
}

Star History

Nearby in the ranking
Similar items