Image-Text-to-Text
Transformers
Safetensors
qwen3_5
ocr
pdf
markdown
layout
conversational
Eval Results
Instructions to use datalab-to/chandra-ocr-2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use datalab-to/chandra-ocr-2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="datalab-to/chandra-ocr-2") 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)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("datalab-to/chandra-ocr-2") model = AutoModelForMultimodalLM.from_pretrained("datalab-to/chandra-ocr-2", 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=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use datalab-to/chandra-ocr-2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "datalab-to/chandra-ocr-2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "datalab-to/chandra-ocr-2", "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/datalab-to/chandra-ocr-2
- SGLang
How to use datalab-to/chandra-ocr-2 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 "datalab-to/chandra-ocr-2" \ --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": "datalab-to/chandra-ocr-2", "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 "datalab-to/chandra-ocr-2" \ --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": "datalab-to/chandra-ocr-2", "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 datalab-to/chandra-ocr-2 with Docker Model Runner:
docker model run hf.co/datalab-to/chandra-ocr-2
Vik Paruchuri commited on
Commit ·
af93b47
1
Parent(s): 808e461
Adjust scoring 85.9 -> 85.8
Browse files- .eval_results/olmocrbench.yaml +18 -18
- README.md +5 -5
- bench.png +0 -0
.eval_results/olmocrbench.yaml
CHANGED
|
@@ -1,80 +1,80 @@
|
|
| 1 |
- dataset:
|
| 2 |
id: allenai/olmOCR-bench
|
| 3 |
task_id: overall
|
| 4 |
-
value: 85.
|
| 5 |
source:
|
| 6 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 7 |
name: Chandra OCR 2 Model Card
|
| 8 |
-
user:
|
| 9 |
|
| 10 |
- dataset:
|
| 11 |
id: allenai/olmOCR-bench
|
| 12 |
task_id: arxiv_math
|
| 13 |
-
value:
|
| 14 |
source:
|
| 15 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 16 |
name: Chandra OCR 2 Model Card
|
| 17 |
-
user:
|
| 18 |
|
| 19 |
- dataset:
|
| 20 |
id: allenai/olmOCR-bench
|
| 21 |
task_id: old_scans_math
|
| 22 |
-
value: 89.
|
| 23 |
source:
|
| 24 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 25 |
name: Chandra OCR 2 Model Card
|
| 26 |
-
user:
|
| 27 |
|
| 28 |
- dataset:
|
| 29 |
id: allenai/olmOCR-bench
|
| 30 |
task_id: table_tests
|
| 31 |
-
value:
|
| 32 |
source:
|
| 33 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 34 |
name: Chandra OCR 2 Model Card
|
| 35 |
-
user:
|
| 36 |
|
| 37 |
- dataset:
|
| 38 |
id: allenai/olmOCR-bench
|
| 39 |
task_id: old_scans
|
| 40 |
-
value:
|
| 41 |
source:
|
| 42 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 43 |
name: Chandra OCR 2 Model Card
|
| 44 |
-
user:
|
| 45 |
|
| 46 |
- dataset:
|
| 47 |
id: allenai/olmOCR-bench
|
| 48 |
task_id: headers_footers
|
| 49 |
-
value:
|
| 50 |
source:
|
| 51 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 52 |
name: Chandra OCR 2 Model Card
|
| 53 |
-
user:
|
| 54 |
|
| 55 |
- dataset:
|
| 56 |
id: allenai/olmOCR-bench
|
| 57 |
task_id: multi_column
|
| 58 |
-
value:
|
| 59 |
source:
|
| 60 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 61 |
name: Chandra OCR 2 Model Card
|
| 62 |
-
user:
|
| 63 |
|
| 64 |
- dataset:
|
| 65 |
id: allenai/olmOCR-bench
|
| 66 |
task_id: long_tiny_text
|
| 67 |
-
value:
|
| 68 |
source:
|
| 69 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 70 |
name: Chandra OCR 2 Model Card
|
| 71 |
-
user:
|
| 72 |
|
| 73 |
- dataset:
|
| 74 |
id: allenai/olmOCR-bench
|
| 75 |
task_id: baseline
|
| 76 |
-
value: 99.
|
| 77 |
source:
|
| 78 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 79 |
name: Chandra OCR 2 Model Card
|
| 80 |
-
user:
|
|
|
|
| 1 |
- dataset:
|
| 2 |
id: allenai/olmOCR-bench
|
| 3 |
task_id: overall
|
| 4 |
+
value: 85.8
|
| 5 |
source:
|
| 6 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 7 |
name: Chandra OCR 2 Model Card
|
| 8 |
+
user: vikp
|
| 9 |
|
| 10 |
- dataset:
|
| 11 |
id: allenai/olmOCR-bench
|
| 12 |
task_id: arxiv_math
|
| 13 |
+
value: 86.9
|
| 14 |
source:
|
| 15 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 16 |
name: Chandra OCR 2 Model Card
|
| 17 |
+
user: vikp
|
| 18 |
|
| 19 |
- dataset:
|
| 20 |
id: allenai/olmOCR-bench
|
| 21 |
task_id: old_scans_math
|
| 22 |
+
value: 89.1
|
| 23 |
source:
|
| 24 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 25 |
name: Chandra OCR 2 Model Card
|
| 26 |
+
user: vikp
|
| 27 |
|
| 28 |
- dataset:
|
| 29 |
id: allenai/olmOCR-bench
|
| 30 |
task_id: table_tests
|
| 31 |
+
value: 92.1
|
| 32 |
source:
|
| 33 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 34 |
name: Chandra OCR 2 Model Card
|
| 35 |
+
user: vikp
|
| 36 |
|
| 37 |
- dataset:
|
| 38 |
id: allenai/olmOCR-bench
|
| 39 |
task_id: old_scans
|
| 40 |
+
value: 51.1
|
| 41 |
source:
|
| 42 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 43 |
name: Chandra OCR 2 Model Card
|
| 44 |
+
user: vikp
|
| 45 |
|
| 46 |
- dataset:
|
| 47 |
id: allenai/olmOCR-bench
|
| 48 |
task_id: headers_footers
|
| 49 |
+
value: 91.4
|
| 50 |
source:
|
| 51 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 52 |
name: Chandra OCR 2 Model Card
|
| 53 |
+
user: vikp
|
| 54 |
|
| 55 |
- dataset:
|
| 56 |
id: allenai/olmOCR-bench
|
| 57 |
task_id: multi_column
|
| 58 |
+
value: 82.1
|
| 59 |
source:
|
| 60 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 61 |
name: Chandra OCR 2 Model Card
|
| 62 |
+
user: vikp
|
| 63 |
|
| 64 |
- dataset:
|
| 65 |
id: allenai/olmOCR-bench
|
| 66 |
task_id: long_tiny_text
|
| 67 |
+
value: 93.7
|
| 68 |
source:
|
| 69 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 70 |
name: Chandra OCR 2 Model Card
|
| 71 |
+
user: vikp
|
| 72 |
|
| 73 |
- dataset:
|
| 74 |
id: allenai/olmOCR-bench
|
| 75 |
task_id: baseline
|
| 76 |
+
value: 99.9
|
| 77 |
source:
|
| 78 |
url: https://huggingface.co/datalab-to/chandra-ocr-2
|
| 79 |
name: Chandra OCR 2 Model Card
|
| 80 |
+
user: vikp
|
README.md
CHANGED
|
@@ -21,7 +21,7 @@ Try Chandra in the [free playground](https://www.datalab.to/playground), or use
|
|
| 21 |
|
| 22 |
## What's New in Chandra 2
|
| 23 |
|
| 24 |
-
- 85.
|
| 25 |
- Significant improvements to math, tables, complex layouts
|
| 26 |
- Improved layout, especially on wider documents
|
| 27 |
- Significantly better image captioning
|
|
@@ -112,10 +112,10 @@ print(markdown)
|
|
| 112 |
|
| 113 |
| **Model** | ArXiv | Old Scans Math | Tables | Old Scans | Headers and Footers | Multi column | Long tiny text | Base | Overall | Source |
|
| 114 |
|:----------|:--------:|:--------------:|:--------:|:---------:|:-------------------:|:------------:|:--------------:|:----:|:--------------:|:------:|
|
| 115 |
-
| Datalab API | **90.4** | **90.2** |
|
| 116 |
-
| Chandra 2 |
|
| 117 |
-
| dots.ocr 1.5 | 85.9 | 85.5 |
|
| 118 |
-
| Chandra 1 | 82.2 | 80.3 | 88.0 | 50.4 | 90.8 | 81.2 |
|
| 119 |
| olmOCR 2 | 83.0 | 82.3 | 84.9 | 47.7 | **96.1** | 83.7 | 81.9 | 99.6 | 82.4 | olmocr repo |
|
| 120 |
| dots.ocr | 82.1 | 64.2 | 88.3 | 40.9 | 94.1 | 82.4 | 81.2 | 99.5 | 79.1 ± 1.0 | dots.ocr repo |
|
| 121 |
| olmOCR v0.3.0 | 78.6 | 79.9 | 72.9 | 43.9 | 95.1 | 77.3 | 81.2 | 98.9 | 78.5 ± 1.1 | olmocr repo |
|
|
|
|
| 21 |
|
| 22 |
## What's New in Chandra 2
|
| 23 |
|
| 24 |
+
- 85.8% olmocr bench score (sota), 77.8% multilingual bench score (12% improvement over Chandra 1)
|
| 25 |
- Significant improvements to math, tables, complex layouts
|
| 26 |
- Improved layout, especially on wider documents
|
| 27 |
- Significantly better image captioning
|
|
|
|
| 112 |
|
| 113 |
| **Model** | ArXiv | Old Scans Math | Tables | Old Scans | Headers and Footers | Multi column | Long tiny text | Base | Overall | Source |
|
| 114 |
|:----------|:--------:|:--------------:|:--------:|:---------:|:-------------------:|:------------:|:--------------:|:----:|:--------------:|:------:|
|
| 115 |
+
| Datalab API | **90.4** | **90.2** | 90.7 | **54.6** | 91.6 | 83.7 | 92.3 | **99.9** | **86.7 ± 0.8** | Own benchmarks |
|
| 116 |
+
| Chandra 2 | 86.9 | 89.1 | **92.1** | 51.1 | 91.4 | 82.1 | **93.7** | **99.9** | 85.8 ± 0.8 | Own benchmarks |
|
| 117 |
+
| dots.ocr 1.5 | 85.9 | 85.5 | 90.7 | 48.2 | 94.0 | **85.3** | 81.6 | 99.7 | 83.9 | dots.ocr repo |
|
| 118 |
+
| Chandra 1 | 82.2 | 80.3 | 88.0 | 50.4 | 90.8 | 81.2 | 92.3 | **99.9** | 83.1 ± 0.9 | Own benchmarks |
|
| 119 |
| olmOCR 2 | 83.0 | 82.3 | 84.9 | 47.7 | **96.1** | 83.7 | 81.9 | 99.6 | 82.4 | olmocr repo |
|
| 120 |
| dots.ocr | 82.1 | 64.2 | 88.3 | 40.9 | 94.1 | 82.4 | 81.2 | 99.5 | 79.1 ± 1.0 | dots.ocr repo |
|
| 121 |
| olmOCR v0.3.0 | 78.6 | 79.9 | 72.9 | 43.9 | 95.1 | 77.3 | 81.2 | 98.9 | 78.5 ± 1.1 | olmocr repo |
|
bench.png
CHANGED
|
|