/ Модель

Характеристики

Контекст
131 072 токена
Параметры
1,5 млрд
Размер весов
6,1 ГБ
Лицензия
Своя лицензия
Архитектура
dots_ocr · dense
Библиотека
transformers
Опубликована
14 мар 2026

dots.ocr-1.5

Генерация текстаТекст → текст15 профессий

Мультимодальная модель rednote-hilab для распознавания текста, структурированного разбора документов и визуальных вопросов по изображениям.

131скачиваний за 30 дней13лайковвеса обновлены15 мар 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

dots.ocr-1.5 — мультимодальная модель OCR и разбора документов, разработанная rednote-hilab (Xiaohongshu); эта копия загружена на Hugging Face с ModelScope. Архитектура DotsOCRForCausalLM сочетает зрительный энкодер и языковую модель. В метаданных указано 1,5 млрд параметров, а README описывает исходную версию как модель на 3 млрд параметров; эти сведения расходятся. Модель принимает изображения и текстовые запросы и выдаёт распознанный текст, структурированные данные или SVG. Заявлены контекст до 131 072 токенов и поддержка английского, китайского и ряда других языков, включая русский.

Модель предназначена для распознавания текста и структуры документов, включая таблицы, формулы и блоки разметки, а также для ответов на вопросы по изображениям документов и диаграмм. Она также может разбирать снимки веб-страниц и сцены с текстом, находить объекты и считать их, преобразовывать диаграммы и другие графические материалы в SVG. README приводит результаты на тестах DocVQA, ChartQA и OCRBench и отмечает сильные результаты в многоязычном разборе документов.

По README, сложные таблицы и формулы остаются трудными для компактной версии модели, преобразование изображений в SVG требует улучшения, а в отдельных случаях возникают ошибки разбора. Для запуска с Transformers требуется включить доверенную загрузку пользовательского кода; в vLLM необходимо передавать содержимое запроса в строковом формате. Лицензия в метаданных обозначена как other, поэтому конкретные условия следует сверить с исходным проектом rednote-hilab.

Сценарии применения

  • извлечение текста из сканов и фотографий документов
  • распознавание таблиц, формул и структуры страниц
  • ответы на вопросы по содержимому документов и диаграмм
  • разбор снимков веб-страниц и текста в сценах
  • преобразование диаграмм и графики в SVG
  • поиск и подсчёт объектов на изображении

Ограничения

Сложные таблицы и формулы могут распознаваться с ошибками; преобразование графики в SVG требует доработки, а на отдельных случаях возможны сбои разбора. README указывает 3 млрд параметров, тогда как метаданные — 1,5 млрд.

Для каких профессий подходит15

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Unofficial mirror. This is a copy of dots.ocr-1.5 from ModelScope, uploaded to Hugging Face for easier access. All credit goes to the original authors at rednote-hilab (Xiaohongshu). The original v1 model is at rednote-hilab/dots.ocr on HF. If the authors publish an official HF release of v1.5, please use that instead.

Source: ModelScope | GitHub

dots.ocr-1.5: Recognize Any Human Scripts and Symbols

A 3B-parameter multimodal OCR model (1.2B vision encoder + 1.7B language model) from rednote-hilab. Designed for universal accessibility, it can recognize virtually any human script and achieves SOTA performance in multilingual document parsing among models of comparable size.

Key Capabilities

  1. Multilingual Document Parsing — SOTA on standard benchmarks among specialized OCR models, particularly strong on multilingual documents
  2. Structured Graphics to SVG — Converts charts, diagrams, chemical formulas, and logos directly into SVG code
  3. Web Screen Parsing & Scene Text Spotting — Handles web screenshots and scene text
  4. Object Grounding & Counting — General vision tasks beyond pure OCR
  5. General OCR & Visual QA — DocVQA 91.85, ChartQA 83.2, OCRBench 86.0

Quick Start with UV Scripts

Process any HF dataset with a single command using uv-scripts/ocr:

# Basic OCR
hf jobs uv run --flavor l4x1 -s HF_TOKEN \
    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-ocr-1.5.py \
    your-input-dataset your-output-dataset \
    --model davanstrien/dots.ocr-1.5

# Layout analysis with bounding boxes
hf jobs uv run --flavor l4x1 -s HF_TOKEN \
    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-ocr-1.5.py \
    your-input-dataset your-output-dataset \
    --model davanstrien/dots.ocr-1.5 \
    --prompt-mode layout-all

Benchmarks

Document Parsing (Elo Score)

ModelolmOCR-BenchOmniDocBench v1.5XDocParse
GLM-OCR859.9937.5742.1
PaddleOCR-VL-1.5873.6965.6797.6
HuanyuanOCR978.9974.4895.9
dots.ocr1027.4994.71133.4
dots.ocr-1.51089.01025.81157.1
Gemini 3 Pro1171.21102.11273.9

olmOCR-bench (detailed)

ModelArXivOld scans mathTablesOverall
olmOCR v0.4.083.082.384.982.4±1.1
Chandra OCR 0.1.082.280.388.083.1±0.9
dots.ocr-1.585.985.590.783.9±0.9

General Vision Tasks

DocVQAChartQAOCRBenchAI2DCharXiv DescriptiveRefCOCO
91.8583.286.082.1677.480.03

Usage

vLLM (recommended)

Important: When using llm.chat(), you must pass chat_template_content_format="string". The model's tokenizer chat template expects string content, not OpenAI-format lists. Without this, the model produces empty output.

from vllm import LLM, SamplingParams

llm = LLM(
    model="davanstrien/dots.ocr-1.5",
    trust_remote_code=True,
    max_model_len=24000,
    gpu_memory_utilization=0.9,
)

sampling_params = SamplingParams(temperature=0.1, top_p=0.9, max_tokens=24000)

messages = [{
    "role": "user",
    "content": [
        {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
        {"type": "text", "text": "Extract the text content from this image."},
    ],
}]

outputs = llm.chat(
    [messages],
    sampling_params,
    chat_template_content_format="string",  # Required!
)
print(outputs[0].outputs[0].text)

vLLM Server

vllm serve davanstrien/dots.ocr-1.5 \
    --tensor-parallel-size 1 \
    --gpu-memory-utilization 0.9 \
    --chat-template-content-format string \
    --trust-remote-code

Transformers

import torch
from transformers import AutoModelForCausalLM, AutoProcessor
from qwen_vl_utils import process_vision_info

model = AutoModelForCausalLM.from_pretrained(
    "davanstrien/dots.ocr-1.5",
    attn_implementation="flash_attention_2",
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
)
processor = AutoProcessor.from_pretrained("davanstrien/dots.ocr-1.5", trust_remote_code=True)

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": "document.jpg"},
        {"type": "text", "text": "Extract the text content from this image."},
    ],
}]

text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(text=[text], images=image_inputs, videos=video_inputs, padding=True, return_tensors="pt").to("cuda")

generated_ids = model.generate(**inputs, max_new_tokens=24000)
output = processor.batch_decode(
    [out[len(inp):] for inp, out in zip(inputs.input_ids, generated_ids)],
    skip_special_tokens=True,
)[0]
print(output)

Prompt Modes

ModeDescriptionOutput
ocrText extraction (default)Markdown
layout-allLayout + bboxes + categories + textJSON
layout-onlyLayout + bboxes + categories (no text)JSON
web-parsingWebpage layout analysisJSON
scene-spottingScene text detectionText
grounding-ocrText from bounding box regionText
generalFree-form (custom prompt)Varies

Bbox Coordinate System (layout modes)

Bounding boxes are in the resized image coordinate space, not original image coordinates. The model uses Qwen2VLImageProcessor which resizes images so that width × height ≤ 11,289,600 pixels, with dimensions rounded to multiples of 28.

To map bboxes back to original coordinates:

import math

def smart_resize(height, width, factor=28, min_pixels=3136, max_pixels=11289600):
    h_bar = max(factor, round(height / factor) * factor)
    w_bar = max(factor, round(width / factor) * factor)
    if h_bar * w_bar > max_pixels:
        beta = math.sqrt((height * width) / max_pixels)
        h_bar = math.floor(height / beta / factor) * factor
        w_bar = math.floor(width / beta / factor) * factor
    elif h_bar * w_bar < min_pixels:
        beta = math.sqrt(min_pixels / (height * width))
        h_bar = math.ceil(height * beta / factor) * factor
        w_bar = math.ceil(width * beta / factor) * factor
    return h_bar, w_bar

resized_h, resized_w = smart_resize(orig_h, orig_w)
scale_x, scale_y = orig_w / resized_w, orig_h / resized_h
# orig_x = bbox_x * scale_x, orig_y = bbox_y * scale_y

Model Details

  • Architecture: DotsOCRForCausalLM (custom code, trust_remote_code=True required)
  • Parameters: 3B total (1.2B vision encoder, 1.7B language model)
  • Precision: BF16
  • Max context: 131,072 tokens
  • Vision: Patch size 14, spatial merge size 2, flash_attention_2
  • Languages: English, Chinese (simplified + traditional), multilingual (Tibetan, Kannada, Russian, Dutch, and more)

Limitations

  • Complex table and formula extraction remains challenging for the compact 3B architecture
  • SVG parsing for pictures needs further robustness improvements
  • Occasional parsing failures on edge cases

License

This model is released under the dots.ocr License Agreement, which is based on the MIT License with supplementary terms covering responsible use, attribution, and data governance. Per the license: "If Licensee distributes modified weights or fine-tuned models based on the Model Materials, Licensee must prominently display the following statement: 'Built with dots.ocr.'"

Citation

@misc{dots_ocr_1_5,
  title={dots.ocr-1.5: Recognize Any Human Scripts and Symbols},
  author={rednote-hilab},
  year={2025},
  url={https://github.com/rednote-hilab/dots.ocr}
}

Built with dots.ocr.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
DotsOCRForCausalLM
Ревизия весов
282151e

0 моделей