pimenov.ai

База знаний

Docling — превращает документы в данные для ИИ

Docling — открытый инструмент IBM, который превращает PDF, Word, презентации и сканы в чистый Markdown и JSON для ИИ и RAG. Что умеет, как развернуть и как связать с Open WebUI.

Опубликовано

Docling — открытый инструмент от IBM Research, который превращает «тяжёлые» документы (PDF, Word, презентации, таблицы, сканы) в чистую структуру: Markdown, JSON, HTML. Он понимает разметку страниц, таблицы и порядок чтения, поэтому на выходе получаются данные, готовые для ИИ и RAG, а не каша из текста.

📌
Кому полезно: тем, кто готовит документы для ИИ — RAG по базе знаний, поиск по архиву PDF, извлечение таблиц из отчётов. Особенно силён в связке с Open WebUI.

Что это такое

Docling — это библиотека и набор инструментов для конвертации документов в структурированный вид. Главная задача — взять сложный файл (например, скан PDF с таблицами) и выдать аккуратный Markdown или JSON, где сохранены заголовки, таблицы, порядок чтения и формулы.

Под капотом — специализированные ИИ-модели для анализа разметки страницы и TableFormer для распознавания таблиц. Работает локально, на обычном железе, без отправки данных наружу — подходит для чувствительных документов и изолированных (air-gapped) сетей.

💡
Docling используют тремя способами: как Python-библиотеку, как CLI-утилиту и как сервис (Docling Serve) с REST API. А ещё у него есть MCP-сервер, чтобы подключать его напрямую к ИИ-агентам.

Краткая история проекта

  • 2024 — релиз от IBM Research. Проект создала команда AI for knowledge в IBM Research Zurich и выложила в открытый доступ в ноябре 2024 года.
  • Быстрый рост и интеграции. Поддержка PDF, DOCX, PPTX, XLSX, HTML, изображений и экспорт в Markdown и JSON. Библиотека быстро попала в LangChain, LlamaIndex и spaCy.
  • Передача в LF AI & Data. В апреле 2025 IBM передала Docling фонду LF AI & Data — проект стал вендоронезависимым. К середине 2026 — около 60 тысяч звёзд на GitHub и более 2 млн загрузок в месяц с PyPI.
  • Расширение возможностей. Добавились распознавание графиков и формул, аудио (ASR), парсинг email и EPUB, а также визуальная модель Granite Docling.
  • Managed-версия. В 2026 IBM запустила Docling для watsonx — управляемый облачный сервис на основе того же открытого ядра.
⚖️
Лицензия — MIT: свободно используете, дорабатываете и встраиваете в коммерческие продукты. Визуальная модель Granite Docling распространяется под Apache 2.0.

Основные возможности

ОбластьЧто умеет
Форматы на входеPDF, DOCX, PPTX, XLSX, HTML, изображения, аудио, email (.eml/.msg), EPUB, Markdown
Форматы на выходеMarkdown, JSON (без потерь), HTML, DocTags, обычный текст
Понимание PDFАнализ разметки, порядок чтения, структура таблиц, формулы, код, классификация картинок
OCRРаспознавание текста в сканах и изображениях, поддержка нескольких языков
Графики и данныеРаспознаёт диаграммы (столбчатые, круговые, графики) и переводит их в таблицы или описания
ИнтеграцииLangChain, LlamaIndex, CrewAI, Haystack, Open WebUI; MCP-сервер для агентов
РазвёртываниеPython-библиотека, CLI, REST-сервис (Docling Serve), локально и в Docker

Подключение и развёртывание

Docling запускается под разные задачи — от быстрой конвертации одного файла до сервиса в продакшене.

Как библиотека (Python):

pip install docling
from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("https://arxiv.org/pdf/2501.17887")
print(result.document.export_to_markdown())

Как CLI:

docling https://arxiv.org/pdf/2501.17887

Как сервис (Docling Serve, REST API) — этот режим нужен для связки с Open WebUI:

# Через контейнер (Docker или Podman), CPU-версия
docker run -p 5001:5001 -e DOCLING_SERVE_ENABLE_UI=true \
  quay.io/docling-project/docling-serve

Для GPU (NVIDIA CUDA) есть отдельный образ quay.io/docling-project/docling-serve-cu128. После запуска API доступен на http://localhost:5001, документация — на /docs, UI-песочница — на /ui.

💡
Для серверов без видеокарты есть cpu-only сборка PyTorch. Для скорости на больших объёмах документов лучше GPU — распознавание разметки и таблиц заметно ускоряется.

Docling + Open WebUI

Самая практичная связка: Open WebUI отвечает за чат и RAG, а Docling — за качественное извлечение текста из документов. По умолчанию Open WebUI парсит файлы простым способом, и на сложных PDF с таблицами структура теряется. Docling делает это заметно аккуратнее.

Как подключить:

  1. Поднимите Docling Serve (команда выше) — он даёт REST API на порту 5001. Важно держать UVICORN_WORKERS=1: при большем числе воркеров Docling выдаёт ошибки «Task Not Found».
  2. В Open WebUI откройте Admin Panel → Settings → Documents.
  3. В выпадающем списке движка извлечения (content extraction engine) смените Default на Docling и укажите адрес сервера: http://host.docker.internal:5001 (если Open WebUI запущен в Docker) или http://localhost:5001 (нативная установка).
  4. Загружайте PDF, DOCX и презентации в базу знаний Open WebUI — теперь они проходят через Docling, и RAG отвечает точнее, с сохранением таблиц и структуры.
🔗
Подробно про сам интерфейс и его настройку — в руководстве Open WebUI — собственный интерфейс для любых языковых моделей.

Тонкая настройка качества: OCR и таблицы

Качество извлечения сильно зависит от пары настроек. Они задаются JSON-параметрами (в Open WebUI — поле DOCLING_PARAMS, в коде — опции пайплайна):

  • ocr_engine — движок OCR: easyocr (по умолчанию), tesseract, rapidocr, на macOS — ocrmac. Для сканов с русским текстом важно задать язык: у Tesseract — 3-буквенные коды (rus, eng), у EasyOCR — 2-буквенные (ru, en).
  • table_mode — режим таблиц: accurate (точнее, медленнее) или fast (быстрее, грубее). Для отчётов с таблицами берите accurate.
  • do_ocr / force_ocr — включить OCR и форсировать его даже для «цифровых» PDF.
  • pdf_backend — движок парсинга PDF (актуальный — dlparse_v4).
💡
Пример набора параметров: {"do_ocr": true, "table_mode": "accurate", "ocr_engine": "tesseract", "ocr_lang": ["rus", "eng"]}.

Granite Docling: одна модель вместо пайплайна

Granite Docling (модель granite-docling-258M, лицензия Apache 2.0) — компактная визуально-языковая модель (VLM), которая разбирает документ сквозным способом: разметка, текст, таблицы и формулы одной моделью вместо классической связки «OCR + детектор разметки + распознавание таблиц». Подходит, когда нужен единый движок и есть GPU. Для простых задач классический пайплайн с OCR остаётся быстрее и дешевле по ресурсам.


Ограничения и чего ожидать

Docling — не «серебряная пуля», и честно понимать его границы полезно до внедрения:

  • Скорость. На CPU обработка заметно медленнее простого парсинга; на больших объёмах фактически нужен GPU.
  • Сложные таблицы и Excel. Многостраничные книги, объединённые ячейки и «отчётная» вёрстка парсятся неидеально — иногда нужна ручная доводка.
  • Ресурсы. Высокое качество достигается ценой памяти и времени — это тяжелее, чем, например, Apache Tika.
  • Версии и совместимость. Для связки с Open WebUI нужны свежие версии Docling Serve и самого Open WebUI, иначе возможны ошибки (например, 404 на эндпоинте конвертации).

Docling и альтернативы

Короткий ориентир, когда что выбрать.

ИнструментКогда выбирать
DoclingНужны структура, таблицы и порядок чтения из сложных PDF; всё локально и бесплатно; есть ресурсы под обработку
Apache TikaНужно быстро вытащить текст из множества форматов, структура таблиц некритична
Облачный OCR (SotaOCR, Mistral OCR)Не хочется поднимать инфраструктуру; нужен готовый API с оплатой по факту и высоким качеством OCR
🔗
Про облачный вариант OCR с поддержкой таблиц и формул — в материале SotaOCR — OCR-сервис за 25 копеек за страницу.

Полезные варианты применения

Подготовка базы знаний для RAG. Прогоняете регламенты, отчёты и договоры через Docling — и ИИ отвечает по чистому тексту с сохранёнными таблицами, а не по мешанине из PDF.

Извлечение таблиц из отчётов. Финансовые и аналитические документы превращаются в структурированные таблицы (Markdown/JSON), пригодные для дальнейшей обработки.

Поиск по архиву PDF. Большой архив сканов и документов конвертируется в текст с OCR — по нему можно искать и задавать вопросы.

Конвейер для ИИ-агентов. Через MCP-сервер Docling подключается к агентам: агент сам забирает документ, парсит его и работает с содержимым.

Оцифровка сканов. OCR вытаскивает текст из сканированных страниц и изображений, сохраняя разметку.

Данные для обучения моделей. Docling готовит чистые датасеты из документов для дообучения и файн-тюнинга.


Ссылки


По теме

Если вы собираете собственную ИИ-среду с поиском по документам и хотите, чтобы RAG отвечал точно, важно правильно выстроить связку извлечения и интерфейса под вашу задачу.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov