# Jina OCR v1: локальный разбор документов и границы лицензии

Источник: https://modelium.tech/zhurnal/jina-ocr-v1/

Jina OCR v1 — опубликованная Jina AI модель для извлечения текста и структуры из изображения документа. Веса доступны локально, но пример запуска требует доверия к коду репозитория; ускорение FastMTP относится к отдельному пути vLLM, а не к обычному Transformers. Лицензия весов обозначена CC BY-NC 4.0: для коммерческого внедрения необходимо отдельно проверить разрешение правообладателя. Качество на русских документах проверяйте на собственных обезличенных сканах, не по общей оценке на бенчмарке.

Проверено 2 октября 2026 года по снимку `jinaai/jina-ocr-v1` на SHA `904f815`. Modelium не запускал модель и не измерял качество, скорость или расход памяти на собственном стенде.

## Что именно делает Jina OCR v1?

Jina AI публикует открытую для загрузки модель **Jina-OCR-v1** для разбора изображения документа в текстовую и структурированную форму; карточка относит её к `image-text-to-text`, а не к самостоятельному сервису сверки документов с 1С [s1](#src-s1). Авторы описывают архитектуру как зрительный DeepEncoder и MoE-декодер на базе DeepSeek-OCR; FastMTP — отдельный ускоряющий механизм в пути vLLM [s1](#src-s1) [s6](#src-s6). На вход локального примера подаётся один файл изображения, на выходе получается распознанный текст; чтение многостраничного PDF и постобработка полей учётной системы в этом примере не реализованы [s4](#src-s4). Для PDF сначала определите собственный способ рендеринга страниц и качество исходных сканов — не приписывайте их модели.

Карточка отмечает `multilingual`, но **не приводит отдельную подтверждённую оценку по русским счетам, УПД или рукописным актам** [s1](#src-s1) [s5](#src-s5). Это кандидат для испытания на русских документах, а не подтверждённое решение для них. Если нужна именно прикладная задача реквизитов, начните с [маршрута проверки документов для 1С](/zadachi/raspoznavanie-dokumentov-1s/) и держите OCR отдельно от валидации полей.

## Как выбрать локальный путь запуска?

**Transformers.** Репозиторий поставляет `example.py`: он загружает `AutoProcessor` и `AutoModelForCausalLM`, преобразует изображение в RGB, подготавливает OCR-ввод и декодирует текст. По коду параметр `--backend transformers` допускает явное устройство `cpu` либо `cuda`; наличие опции CPU **не обещает приемлемую скорость или достаточный объём памяти** [s4](#src-s4). Начните с [проверки ревизии на Hugging Face](/zhurnal/hugging-face-modeli/) и следуйте примеру автора именно на закреплённом SHA, а не произвольному стороннему GGUF. Веса и пользовательский Python-код лежат в одном снимке [s1](#src-s1) [s4](#src-s4).

**vLLM.** Для этого пути карточка автора требует vLLM не ниже 0.21, добавление каталога снимка в путь импортов и однократную регистрацию архитектуры перед созданием `LLM(...)`; FastMTP настраивается через поставляемые функции, а не одной заменой названия backend [s1](#src-s1). Сам `example.py` вызывает `register()` и отдельные параметры speculative decoding [s4](#src-s4). По данным авторов, ускорение измерялось при определённых GPU, параллельности и версии движка; не переносите эти цифры на своё устройство и не обещайте той же скорости [s1](#src-s1) [s6](#src-s6). В обычном Transformers-пути **FastMTP не включён** [s1](#src-s1). Если нужна лишь проверка качества нескольких страниц, сначала отделите её от оптимизации сервера.

Файл индекса весов содержит два shard и `total_size: 6744476160` байт для тензоров; наличие обоих shard видно в снимке репозитория [s3](#src-s3). Это **не минимальная RAM или VRAM**: помимо весов память занимают runtime, изображение, активации и генерация. Конфигурация показывает `max_position_embeddings: 32768` и MTP-поля, но эти настройки сами по себе не гарантируют точность на длинном документе [s2](#src-s2). Для оценки оборудования используйте [отдельный разбор памяти](/zhurnal/videokarta-dlya-llm/) и затем измеряйте реальный запуск с фиксированной версией.

## Где проходит граница лицензии и безопасности?

В карточке Jina OCR v1 указано **CC BY-NC 4.0**, а для коммерческого использования автор предлагает связаться с ним [s1](#src-s1). Условие **NonCommercial** в тексте лицензии означает, что нельзя автоматически считать публикацию весов разрешением на коммерческое внедрение; конкретный рабочий сценарий и отдельное разрешение нужно согласовать до пилота в бизнесе [s7](#src-s7). Это не юридическое заключение и не утверждение, что любой внутренний тест запрещён. Доступность репозитория, право на коммерческое использование весов, условия библиотек и права на исходные документы — разные проверки.

Оба примера загрузки модели используют `trust_remote_code=True` либо импортируют поставляемый код, то есть локальное приложение выполняет Python из внешнего снимка [s1](#src-s1) [s4](#src-s4). Hugging Face рекомендует проверять пользовательский код перед запуском и закреплять ревизию: `trust_remote_code` нельзя трактовать как песочницу [s8](#src-s8). Не загружайте реальные договоры в облачный Reader или Playground Jina под видом локального теста: карточка предлагает их как отдельные hosted-маршруты с API-ключом [s1](#src-s1). Для закрытого контура отдельно проверяйте сеть, загрузку весов и хранение тестовых файлов.

## Что говорят опубликованные оценки и как проверить свои сканы?

Карточка приводит **91.14 на OmniDocBench v1.6** и **83.4 overall на olmOCR-Bench**. Это результаты, *заявленные авторами* на двух разных бенчмарках, не универсальная доля правильно заполненных полей русского счёта; машинный файл оценок подтверждает 83.4 для `overall` и отдельно хранит оценки категорий, которые нельзя складывать [s1](#src-s1) [s5](#src-s5) [s6](#src-s6). В техническом отчёте условия сравнения и тестовые данные описаны авторами; Modelium не повторял их измерения [s6](#src-s6).

Для собственного выбора возьмите набор обезличенных страниц, где вручную известны текст, суммы, даты, номера и структура строк. На одинаковых входах запишите SHA модели, версию Transformers либо vLLM, параметры подготовки изображения и результат; отдельно посчитайте пропуски символов, перестановку строк, ошибки табличных ячеек и долю полей, подтверждённых оригиналом. Это **предлагаемый протокол**, не уже проведённый опыт Modelium. Если модель не справилась, сравните результат с [другими OCR-подходами](/zhurnal/ocr-modeli/) и [GLM-OCR](/zhurnal/glm-ocr-russkie-dokumenty/) на тех же файлах, а не по несопоставимым рекламным баллам.

**Следующий шаг:** [откройте сценарий распознавания документов для 1С](/zadachi/raspoznavanie-dokumentov-1s/), подготовьте обезличенную контрольную выборку и сверяйте извлечённые поля с оригиналом вручную. Для коммерческого использования Jina OCR v1 до внедрения отдельно проясните право на такой сценарий [s1](#src-s1) [s7](#src-s7).

## Источники

1. [Jina AI — карточка Jina-OCR-v1 на закреплённой ревизии](https://huggingface.co/jinaai/jina-ocr-v1/blob/904f815deed0fbeab02d82d4648b70106272ffe3/README.md) — получено 2026-10-02
2. [Jina AI — config.json ревизии](https://huggingface.co/jinaai/jina-ocr-v1/blob/904f815deed0fbeab02d82d4648b70106272ffe3/config.json) — получено 2026-10-02
3. [Jina AI — индекс двух safetensors-файлов](https://huggingface.co/jinaai/jina-ocr-v1/blob/904f815deed0fbeab02d82d4648b70106272ffe3/model.safetensors.index.json) — получено 2026-10-02
4. [Jina AI — локальный example.py для Transformers и vLLM](https://huggingface.co/jinaai/jina-ocr-v1/blob/904f815deed0fbeab02d82d4648b70106272ffe3/example.py) — получено 2026-10-02
5. [Jina AI — опубликованные результаты olmOCR-bench](https://huggingface.co/jinaai/jina-ocr-v1/blob/904f815deed0fbeab02d82d4648b70106272ffe3/.eval_results/olmocrbench.yaml) — получено 2026-10-02
6. [Jina AI — технический отчёт Jina-OCR-v1](https://arxiv.org/html/2609.03181) — получено 2026-10-02
7. [Creative Commons — текст CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/legalcode.en) — получено 2026-10-02
8. [Hugging Face — документация загрузки пользовательского кода Transformers](https://huggingface.co/docs/transformers/custom_models) — получено 2026-10-02
