Image-Text-to-Text
Transformers
Safetensors
Chinese
English
qwen2_5_vl
ocr
document-parsing
multimodal
conversational
custom_code
text-generation-inference
Instructions to use kp-forks/TeleOCR with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use kp-forks/TeleOCR with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="kp-forks/TeleOCR", trust_remote_code=True) messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("kp-forks/TeleOCR", trust_remote_code=True) model = AutoModelForMultimodalLM.from_pretrained("kp-forks/TeleOCR", trust_remote_code=True, device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use kp-forks/TeleOCR with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "kp-forks/TeleOCR" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kp-forks/TeleOCR", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/kp-forks/TeleOCR
- SGLang
How to use kp-forks/TeleOCR with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "kp-forks/TeleOCR" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kp-forks/TeleOCR", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "kp-forks/TeleOCR" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kp-forks/TeleOCR", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use kp-forks/TeleOCR with Docker Model Runner:
docker model run hf.co/kp-forks/TeleOCR
Commit ·
cdac4fa
1
Parent(s): 9e6159d
Update README.md
Browse filesOriginal commit: c394c1f5d481e836aea7b8651b76d71fe3bb7dc0
README.md
CHANGED
|
@@ -29,8 +29,14 @@ NaviDC-OCR: Navigating Document Parsing Across Digital and Camera-Captured Docum
|
|
| 29 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/score.png" width="800">
|
| 30 |
</div>
|
| 31 |
|
| 32 |
-
##
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
**NaviDC-OCR** is a lightweight (~1.2B parameters), open-source Vision-Language Model designed specifically for document parsing.
|
| 36 |
|
|
@@ -47,6 +53,8 @@ Compared with previous document parsing models, NaviDC-OCR introduces
|
|
| 47 |
|
| 48 |
These techniques enable NaviDC-OCR to achieve state-of-the-art performance on both digital and camera-captured document benchmarks while remaining lightweight enough for practical deployment.
|
| 49 |
|
|
|
|
|
|
|
| 50 |
NaviDC-OCR achieves state-of-the-art performance on multiple public document parsing benchmarks.
|
| 51 |
|
| 52 |
### Layout Visualization of Distorted Documents
|
|
@@ -56,6 +64,28 @@ To evaluate the model's ability to understand complex document deformations, we
|
|
| 56 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/dir300.png" width="800" alt="Parsing evaluation on the DIR300 dataset.">
|
| 57 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/docunet.png" width="800" alt="Parsing evaluation on the DocUNet dataset.">
|
| 58 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
### [OmniDocBench v1.6](https://github.com/opendatalab/OmniDocBench)
|
| 60 |
|
| 61 |
| Model Type | Methods | Param | Overall ↑ | Text Edit ↓ | Formula CDM ↑ | Table TEDS ↑ | Table TEDS-S ↑ | Read Order Edit ↓ |
|
|
@@ -86,6 +116,9 @@ To evaluate the model's ability to understand complex document deformations, we
|
|
| 86 |
| | GPT-5.2 | -- | 86.52 | 0.114 | 88.00 | 82.95 | 87.93 | 0.193 |
|
| 87 |
| | InternVL3.5-241B | 241B | 83.61 | 0.130 | 89.52 | 74.35 | 79.78 | 0.215 |
|
| 88 |
|
|
|
|
|
|
|
|
|
|
| 89 |
### [Wild_OmniDocBench](https://github.com/VirtualLUOUCAS/Wild_OmniDocBench)
|
| 90 |
| Model Type | Methods | Param | Overall ↑ | Text Edit ↓ | Formula CDM ↑ | Table TEDS ↑ | Table TEDS-S ↑ | Read Order Edit ↓ |
|
| 91 |
| ------------------- | ----------------- | ----: | -----------: | ----------: | ------------: | -----------: | -------------: | ----------------: |
|
|
@@ -99,6 +132,7 @@ To evaluate the model's ability to understand complex document deformations, we
|
|
| 99 |
| | HunyuanOCR-1.5 | 1B | 77.62 | 0.1979 | 85.12 | 67.54 | 70.67 | 0.2750 |
|
| 100 |
| | Logics-Parsing-v2 | 4B | 77.10 | 0.4029 | 91.4 | 80.19 | 87.16 | 0.2355 |
|
| 101 |
|
|
|
|
| 102 |
|
| 103 |
|
| 104 |
### [PureDocBench](https://github.com/zhihengli-casia/puredocbench/)
|
|
@@ -122,6 +156,7 @@ To evaluate the model's ability to understand complex document deformations, we
|
|
| 122 |
| | Gemini-3.1-Pro | 70.04 | 0.306 | 65.63 | 75.08 | 69.28 | 0.322 | 65.81 | 74.24 | **71.98** | 0.300 | 68.62 | 77.26 |
|
| 123 |
| | Qwen3.5-397B-A17B | 69.12 | 0.233 | 65.26 | 65.40 | 68.34 | 0.244 | 63.91 | 65.53 | 62.70 | 0.287 | 60.70 | 56.12 |
|
| 124 |
|
|
|
|
| 125 |
|
| 126 |
|
| 127 |
### [ICDAR2026 Sci-ImageMiner](https://sites.google.com/view/sci-imageminer/)
|
|
@@ -134,8 +169,9 @@ To evaluate the model's ability to understand complex document deformations, we
|
|
| 134 |
| 5 | DocMiner | 12.67 | 53.72 | 33.19 |
|
| 135 |
| 6 | Qwen3 VL 8B | 14.08 | 57.86 | 35.97 |
|
| 136 |
|
|
|
|
| 137 |
|
| 138 |
-
## Installation
|
| 139 |
|
| 140 |
```bash
|
| 141 |
pip install transformers torch pillow
|
|
|
|
| 29 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/score.png" width="800">
|
| 30 |
</div>
|
| 31 |
|
| 32 |
+
## 🔥 News
|
| 33 |
+
|
| 34 |
+
- **2026/09/01** - We noticed that EMNLP 2026 is hosting the [Dr.DocBench Challenge](https://eval.ai/web/challenges/challenge-page/2717/overview), a document parsing competition. We evaluated NaviDC-OCR with its native weights, achieving better results than MinerU 2.5 Pro and PaddleOCR-VL 1.6. Detailed results are shown below **dr.docbench-challenge**. We welcome the use of NaviDC‑OCR for competitions. Going forward, we will continue to deliver competitive parsing models for the community.
|
| 35 |
+
- **2026/08/29** — Thanks to Nandraj for the GGUF conversion and llama.cpp support! [🔗 NaviDC-OCR-GGUF](https://huggingface.co/nandraj/NaviDC-OCR-GGUF)
|
| 36 |
+
- **2026/08/17** — NaviDC-OCR [model weights](https://huggingface.co/StarDoc-AI/NaviDC-OCR) and [technical report](https://arxiv.org/pdf/2608.12898) have been released.
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
## 📖 Introduction
|
| 40 |
|
| 41 |
**NaviDC-OCR** is a lightweight (~1.2B parameters), open-source Vision-Language Model designed specifically for document parsing.
|
| 42 |
|
|
|
|
| 53 |
|
| 54 |
These techniques enable NaviDC-OCR to achieve state-of-the-art performance on both digital and camera-captured document benchmarks while remaining lightweight enough for practical deployment.
|
| 55 |
|
| 56 |
+
## 📊 Experimental Results
|
| 57 |
+
|
| 58 |
NaviDC-OCR achieves state-of-the-art performance on multiple public document parsing benchmarks.
|
| 59 |
|
| 60 |
### Layout Visualization of Distorted Documents
|
|
|
|
| 64 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/dir300.png" width="800" alt="Parsing evaluation on the DIR300 dataset.">
|
| 65 |
<img src="https://raw.githubusercontent.com/caipeng328/NaviDC-OCR/refs/heads/main/assets/docunet.png" width="800" alt="Parsing evaluation on the DocUNet dataset.">
|
| 66 |
</div>
|
| 67 |
+
|
| 68 |
+
---
|
| 69 |
+
|
| 70 |
+
## Dr.DocBench Challenge
|
| 71 |
+
|
| 72 |
+
|模型|overall ↑|Text edit ↓|formula cdm ↑|Table teds ↑|order edit ↓|
|
| 73 |
+
|---|---|---|---|---|---|
|
| 74 |
+
|**Specialized VLMs**| | | | | |
|
| 75 |
+
|Navidc‑OCR|67.96|0.1903|0.02|64.97|0.398|
|
| 76 |
+
|Mineru 2.5 pro|62.26|0.3402|0.04|67.75|0.356|
|
| 77 |
+
|Mineru 2.5|54.37|0.33|24.15|55.85|0.30|
|
| 78 |
+
|PaddleOCRvl 1.6|55.11 | 0.4364 | 0.21 | 51.34 |0.412 |
|
| 79 |
+
|PaddleOCRvl 1.5|34.78|0.73|30.73|51.79|0.71|
|
| 80 |
+
|**General VLMs**| | | | | |
|
| 81 |
+
|Qwen3.5‑Flash|57.51|0.26|35.69|46.24|0.26|
|
| 82 |
+
|Qwen3.5‑122B‑A10B|56.32|0.23|32.54|38.31|0.23|
|
| 83 |
+
|Kimi‑K2.5|60.38|0.19|27.04|51.98|0.18|
|
| 84 |
+
|Doubao‑Seed‑1.6‑Vision|53.14|0.34|41.28|3.93|0.28|
|
| 85 |
+
|GPT‑5.5|61.94|0.19|34.55|48.90|0.17|
|
| 86 |
+
|
| 87 |
+
---
|
| 88 |
+
|
| 89 |
### [OmniDocBench v1.6](https://github.com/opendatalab/OmniDocBench)
|
| 90 |
|
| 91 |
| Model Type | Methods | Param | Overall ↑ | Text Edit ↓ | Formula CDM ↑ | Table TEDS ↑ | Table TEDS-S ↑ | Read Order Edit ↓ |
|
|
|
|
| 116 |
| | GPT-5.2 | -- | 86.52 | 0.114 | 88.00 | 82.95 | 87.93 | 0.193 |
|
| 117 |
| | InternVL3.5-241B | 241B | 83.61 | 0.130 | 89.52 | 74.35 | 79.78 | 0.215 |
|
| 118 |
|
| 119 |
+
---
|
| 120 |
+
|
| 121 |
+
|
| 122 |
### [Wild_OmniDocBench](https://github.com/VirtualLUOUCAS/Wild_OmniDocBench)
|
| 123 |
| Model Type | Methods | Param | Overall ↑ | Text Edit ↓ | Formula CDM ↑ | Table TEDS ↑ | Table TEDS-S ↑ | Read Order Edit ↓ |
|
| 124 |
| ------------------- | ----------------- | ----: | -----------: | ----------: | ------------: | -----------: | -------------: | ----------------: |
|
|
|
|
| 132 |
| | HunyuanOCR-1.5 | 1B | 77.62 | 0.1979 | 85.12 | 67.54 | 70.67 | 0.2750 |
|
| 133 |
| | Logics-Parsing-v2 | 4B | 77.10 | 0.4029 | 91.4 | 80.19 | 87.16 | 0.2355 |
|
| 134 |
|
| 135 |
+
---
|
| 136 |
|
| 137 |
|
| 138 |
### [PureDocBench](https://github.com/zhihengli-casia/puredocbench/)
|
|
|
|
| 156 |
| | Gemini-3.1-Pro | 70.04 | 0.306 | 65.63 | 75.08 | 69.28 | 0.322 | 65.81 | 74.24 | **71.98** | 0.300 | 68.62 | 77.26 |
|
| 157 |
| | Qwen3.5-397B-A17B | 69.12 | 0.233 | 65.26 | 65.40 | 68.34 | 0.244 | 63.91 | 65.53 | 62.70 | 0.287 | 60.70 | 56.12 |
|
| 158 |
|
| 159 |
+
---
|
| 160 |
|
| 161 |
|
| 162 |
### [ICDAR2026 Sci-ImageMiner](https://sites.google.com/view/sci-imageminer/)
|
|
|
|
| 169 |
| 5 | DocMiner | 12.67 | 53.72 | 33.19 |
|
| 170 |
| 6 | Qwen3 VL 8B | 14.08 | 57.86 | 35.97 |
|
| 171 |
|
| 172 |
+
---
|
| 173 |
|
| 174 |
+
## 🚀 Installation
|
| 175 |
|
| 176 |
```bash
|
| 177 |
pip install transformers torch pillow
|