MCPcopy Index your code
hub / github.com/alibaba/Logics-Parsing

github.com/alibaba/Logics-Parsing @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
63,334 symbols 259,879 edges 3,856 files 14,890 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

💻 <a href="https://logics.alibaba-inc.com/parsing/?spm=label.2ef5001f.0.0.1c702159dQbTRd">HomePage</a>&nbsp&nbsp | &nbsp&nbsp🤗 <a href="https://huggingface.co/Logics-MLLM/Logics-Parsing-v2">Model</a>&nbsp&nbsp | &nbsp&nbsp🤖 <a href="https://www.modelscope.cn/studios/Alibaba-DT/Logics-Parsing/summary">Demo</a>

LogicsDocBench results

OmniDocBench-v1.5 results

Updates

  • [2026/03/09] We release the Logics-Parsing-Omni. For more details, please check our Technical Report.
  • [2026/02/13] 🚀🚀🚀🚀🚀 We release Logics-Parsing-v2 Model.
  • [2025/09/25] 🚀🚀🚀We release Logics-Parsing Model. For more details, please check our Technical Report.

Introduction

Logics-Parsing-v2 is an advanced evolution of the previously proposed Logics-Parsing (v1). It inherits all the core capabilities of v1 model, while demonstrating more powerful capabilities on handling complex documents. Furthermore, it extends support for Parsing-2.0 scenarios, enabling structured parsing of musical sheets, flowcharts, as well as code/pseudocode blocks.

LogicsDocBench 概览

Key Features

v1

  • Effortless End-to-End Processing

    • Our single-model architecture eliminates the need for complex, multi-stage pipelines. Deployment and inference are straightforward, going directly from a document image to structured output.
    • It demonstrates exceptional performance on documents with challenging layouts.
  • Advanced Content Recognition

    • It accurately recognizes and structures difficult content, including intricate scientific formulas.
    • Chemical structures are intelligently identified and can be represented in the standard SMILES format.
  • Rich, Structured HTML Output

    • The model generates a clean HTML representation of the document, preserving its logical structure.
    • Each content block (e.g., paragraph, table, figure, formula) is tagged with its category, bounding box coordinates, and OCR text.
    • It automatically identifies and filters out irrelevant elements like headers and footers, focusing only on the core content.
  • State-of-the-Art Performance

    • Logics-Parsing achieves the best performance on our in-house benchmark, which is specifically designed to comprehensively evaluate a model’s parsing capability on complex-layout documents and STEM content.

v2

  • Effortless End-to-End Processing

    • End-to-end recognition and parsing for various kinds of document elements within a single model.
    • Handles complex-layout and text-dense documents such as newspapers and magazines with exceptional precision and ease;
  • Advanced Content Recognition

    • Smaller in size, greater in performance, delivering more accurate and structured parsing of tables and scientific formulas.
    • Introducing Parsing-2.0: natively supports parsing of diverse structured content, including flowcharts, music sheets and pseudocode blocks.
  • Rich, Structured HTML Output

    • Transforms documents into concise HTML -- capturing not just content, but also element types, spatial layouts, and semantic hierarchy.
    • More scientific and intuitive formats for structured elements -- such as Mermaid for flowcharts and ABC notation for musical scores.
  • State-of-the-Art Performance

    • SOTA across the board: Logics-Parsing-v2 sets top records on both our in-house benchmark (overall score: 82.16) and the renowned public benchmark OmniDocBench-v1.5 (overall score: 93.23).

Benchmark

v1

Existing document-parsing benchmarks often provide limited coverage of complex layouts and STEM content. To address this, we constructed an in-house benchmark comprising 1,078 page-level images across nine major categories and over twenty sub-categories. Our model achieves the best performance on this benchmark.



  <img src="https://github.com/alibaba/Logics-Parsing/raw/main/imgs/BenchCls.png">



<table>
    <tr>
        <td rowspan="2">Model Type</td>
        <td rowspan="2">Methods</td>
        <td colspan="2">Overall <sup>Edit</sup> ↓</td>
        <td colspan="2">Text Edit <sup>Edit</sup> ↓</td>
        <td colspan="2">Formula <sup>Edit</sup> ↓</td>
        <td colspan="2">Table <sup>TEDS</sup> ↑</td>
        <td colspan="2">Table <sup>Edit</sup> ↓</td>
        <td colspan="2">ReadOrder<sup>Edit</sup> ↓</td>
        <td rowspan="1">Chemistry<sup>Edit</sup> ↓</td>
        <td rowspan="1">HandWriting<sup>Edit</sup> ↓</td>
    </tr>
    <tr>
        <td>EN</td>
        <td>ZH</td>
        <td>EN</td>
        <td>ZH</td>
        <td>EN</td>
        <td>ZH</td>
        <td>EN</td>
        <td>ZH</td>
        <td>EN</td>
        <td>ZH</td>
        <td>EN</td>
        <td>ZH</td>
        <td>ALL</td>
        <td>ALL</td>
    </tr>
    <tr>
        <td rowspan="7">Pipeline Tools</td>
        <td>doc2x</td>
        <td>0.209</td>
        <td>0.188</td>
        <td>0.128</td>
        <td>0.194</td>
        <td>0.377</td>
        <td>0.321</td>
        <td>81.1</td>
        <td>85.3</td>
        <td><ins>0.148</ins></td>
        <td><ins>0.115</ins></td>
        <td>0.146</td>
        <td>0.122</td>
        <td>1.0</td>
        <td>0.307</td>
    </tr>
    <tr>
        <td>Textin</td>
        <td>0.153</td>
        <td>0.158</td>
        <td>0.132</td>
        <td>0.190</td>
        <td>0.185</td>
        <td>0.223</td>
        <td>76.7</td>
        <td><ins>86.3</ins></td>
        <td>0.176</td>
        <td><b>0.113</b></td>
        <td><b>0.118</b></td>
        <td><b>0.104</b></td>
        <td>1.0</td>
        <td>0.344</td>
    </tr>
    <tr>
        <td>mathpix<sup>*</sup></td>
        <td><ins>0.128</ins></td>
        <td><ins>0.146</ins></td>
        <td>0.128</td>
        <td><ins>0.152</ins></td>
        <td><b>0.06</b></td>
        <td><b>0.142</b></td>
        <td><b>86.2</b></td>
        <td><b>86.6</b></td>
        <td><b>0.120</b></td>
        <td>0.127</td>
        <td>0.204</td>
        <td>0.164</td>
        <td>0.552</td>
        <td>0.263</td>
    </tr>
    <tr>
        <td>PP_StructureV3</td>
        <td>0.220</td>
        <td>0.226</td>
        <td>0.172</td>
        <td>0.29</td>
        <td>0.272</td>
        <td>0.276</td>
        <td>66</td>
        <td>71.5</td>
        <td>0.237</td>
        <td>0.193</td>
        <td>0.201</td>
        <td>0.143</td>
        <td>1.0</td>
        <td>0.382</td>
    </tr>
    <tr>
        <td>Mineru2</td>
        <td>0.212</td>
        <td>0.245</td>
        <td>0.134</td>
        <td>0.195</td>
        <td>0.280</td>
        <td>0.407</td>
        <td>67.5</td>
        <td>71.8</td>
        <td>0.228</td>
        <td>0.203</td>
        <td>0.205</td>
        <td>0.177</td>
        <td>1.0</td>
        <td>0.387</td>
    </tr>
    <tr>
        <td>Marker</td>
        <td>0.324</td>
        <td>0.409</td>
        <td>0.188</td>
        <td>0.289</td>
        <td>0.285</td>
        <td>0.383</td>
        <td>65.5</td>
        <td>50.4</td>
        <td>0.593</td>
        <td>0.702</td>
        <td>0.23</td>
        <td>0.262</td>
        <td>1.0</td>
        <td>0.50</td>
    </tr>
    <tr>
        <td>Pix2text</td>
        <td>0.447</td>
        <td>0.547</td>
        <td>0.485</td>
        <td>0.577</td>
        <td>0.312</td>
        <td>0.465</td>
        <td>64.7</td>
        <td>63.0</td>
        <td>0.566</td>
        <td>0.613</td>
        <td>0.424</td>
        <td>0.534</td>
        <td>1.0</td>
        <td>0.95</td>
    </tr>
    <tr>
        <td rowspan="8">Expert VLMs</td>
        <td>Dolphin</td>
        <td>0.208</td>
        <td>0.256</td>
        <td>0.149</td>
        <td>0.189</td>
        <td>0.334</td>
        <td>0.346</td>
        <td>72.9</td>
        <td>60.1</td>
        <td>0.192</td>
        <td>0.35</td>
        <td>0.160</td>
        <td>0.139</td>
        <td>0.984</td>
        <td>0.433</td>
    </tr>
    <tr>
        <td>dots.ocr</td>
        <td>0.186</td>
        <td>0.198</td>
        <td><ins>0.115</ins></td>
        <td>0.169</td>
        <td>0.291</td>
        <td>0.358</td>
        <td>79.5</td>
        <td>82.5</td>
        <td>0.172</td>
        <td>0.141</td>
        <td>0.165</td>
        <td>0.123</td>
        <td>1.0</td>
        <td><ins>0.255</ins></td>
    </tr>
    <tr>
        <td>MonkeyOcr</td>
        <td>0.193</td>
        <td>0.259</td>
        <td>0.127</td>
        <td>0.236</td>
        <td>0.262</td>
        <td>0.325</td>
        <td>78.4</td>
        <td>74.7</td>
        <td>0.186</td>
        <td>0.294</td>
        <td>0.197</td>
        <td>0.180</td>
        <td>1.0</td>
        <td>0.623</td>
    </tr>
    <tr>
        <td>OCRFlux</td>
        <td>0.252</td>
        <td>0.254</td>
        <td>0.134</td>
        <td>0.195</td>
        <td>0.326</td>
        <td>0.405</td>
        <td>58.3</td>
        <td>70.2</td>
        <td>0.358</td>
        <td>0.260</td>
        <td>0.191</td>
        <td>0.156</td>
        <td>1.0</td>
        <td>0.284</td>
    </tr>
    <tr>
        <td>Gotocr</td>
        <td>0.247</td>
        <td>0.249</td>
        <td>0.181</td>
        <td>0.213</td>
        <td>0.231</td>
        <td>0.318</td>
        <td>59.5</td>
        <td>74.7</td>
        <td>0.38</td>
        <td>0.299</td>
        <td>0.195</td>
        <td>0.164</td>
        <td>0.969</td>
        <td>0.446</td>
    </tr>
    <tr>
        <td>Olmocr</td>
        <td>0.341</td>
        <td>0.382</td>
        <td>0.125</td>
        <td>0.205</td>
        <td>0.719</td>
        <td>0.766</td>
        <td>57.1</td>
        <td>56.6</td>
        <td>0.327</td>
        <td>0.389</td>
        <td>0.191</td>
        <td>0.169</td>
        <td>1.0</td>
        <td>0.294</td>
    </tr>
    <tr>
        <td>SmolDocling</td>
        <td>0.657</td>
        <td>0.895</td>
        <td>0.486</td>
        <td>0.932</td>
        <td>0.859</td>
        <td>0.972</td>
        <td>18.5</td>
        <td>1.5</td>
        <td>0.86</td>
        <td>0.98</td>
        <td>0.413</td>
        <td>0.695</td>
        <td>1.0</td>
        <td>0.927</td>
    </tr>
    <tr>
        <td><b>Logics-Parsing</b></td>
        <td><b>0.124</b></td>
        <td><b>0.145</b></td>
        <td><b>0.089</b></td>
        <td><b>0.139</b></td>
        <td><ins>0.106</ins></td>
        <td><ins>0.165</ins></td>
        <td>76.6</td>
        <td>79.5</td>
        <td>0.165</td>
        <td>0.166</td>
        <td><ins>0.136</ins></td>
        <td><ins>0.113</ins></td>
        <td><b>0.519</b></td>
        <td><b>0.252</b></td>
    </tr>
    <tr>
        <td rowspan="5">General VLMs</td>
        <td>Qwen2VL-72B</td>
        <td>0.298</td>
        <td>0.342</td>
        <td>0.142</td>
        <td>0.244</td>
        <td>0.431</td>
        <td>0.363</td>
        <td>64.2</td>
        <td>55.5</td>
        <td>0.425</td>
        <td>0.581</td>
        <td>0.193</td>
        <td>0.182</td>
        <td>0.792</td>
        <td>0.359</td>
    </tr>
    <tr>
        <td>Qwen2.5VL-72B</td>
        <td>0.233</td>
        <td>0.263</td>
        <td>0.162</td>
        <td>0.24</td>
        <td>0.251</td>
        <td>0.257</td>
        <td>69.6</td>
        <td>67</td>
        <td>0.313</td>
        <td>0.353</td>
        <td>0.205</td>
        <td>0.204</td>
        <td>0.597</td>
        <td>0.349</td>
    </tr>

Core symbols most depended-on inside this repo

to
called by 5811
Logics-Parsing-Omni/transformers-omni3/src/transformers/modeling_utils.py
from_pretrained
called by 5302
Logics-Parsing-Omni/transformers-omni3/src/transformers/modelcard.py
to
called by 3363
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/esm/openfold_utils/rigid_utils.py
size
called by 3044
Logics-Parsing-Omni/transformers-omni3/src/transformers/onnx/utils.py
join
called by 2720
Logics-Parsing-Omni/transformers-omni3/src/transformers/generation/continuous_batching/continuous_api.py
get
called by 2521
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/auto/auto_factory.py
unsqueeze
called by 2514
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/esm/openfold_utils/rigid_utils.py
eval
called by 2391
Logics-Parsing-Omni/transformers-omni3/src/transformers/modeling_utils.py

Shape

Method 43,658
Class 12,789
Function 6,012
Route 875

Languages

Python100%

Modules by API surface

Logics-Parsing-Omni/transformers-omni3/tests/trainer/test_trainer.py327 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/testing_utils.py252 symbols
Logics-Parsing-Omni/transformers-omni3/tests/utils/test_modeling_utils.py211 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/qwen3_omni_moe/modeling_qwen3_omni_moe.py210 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/utils/import_utils.py188 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/qwen2_5_omni/modeling_qwen2_5_omni.py188 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/qwen2_5_omni/modular_qwen2_5_omni.py180 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/utils/dummy_pt_objects.py170 symbols
Logics-Parsing-Omni/transformers-omni3/tests/generation/test_utils.py168 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/speecht5/modeling_speecht5.py161 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py158 symbols
Logics-Parsing-Omni/transformers-omni3/src/transformers/models/perceiver/modeling_perceiver.py156 symbols

For agents

$ claude mcp add Logics-Parsing \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact