Почему агент не должен говорить «не могу» и когда ему стоит делегировать задачи — два простых правила конфигурации OpenClaw, которые меняют всё.
Docling — открытый инструмент от IBM Research, который превращает «тяжёлые» документы (PDF, Word, презентации, таблицы, сканы) в чистую структуру: Markdown, JSON, HTML. Он понимает разметку страниц, таблицы и порядок чтения, поэтому на выходе получаются данные, готовые для ИИ и RAG, а не каша из текста.
Что это такое
Docling — это библиотека и набор инструментов для конвертации документов в структурированный вид. Главная задача — взять сложный файл (например, скан PDF с таблицами) и выдать аккуратный Markdown или JSON, где сохранены заголовки, таблицы, порядок чтения и формулы.
Под капотом — специализированные ИИ-модели для анализа разметки страницы и TableFormer для распознавания таблиц. Работает локально, на обычном железе, без отправки данных наружу — подходит для чувствительных документов и изолированных (air-gapped) сетей.
Краткая история проекта
- 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 — управляемый облачный сервис на основе того же открытого ядра.
Основные возможности
| Область | Что умеет |
| Форматы на входе | 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 doclingfrom 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.
Docling + Open WebUI
Самая практичная связка: Open WebUI отвечает за чат и RAG, а Docling — за качественное извлечение текста из документов. По умолчанию Open WebUI парсит файлы простым способом, и на сложных PDF с таблицами структура теряется. Docling делает это заметно аккуратнее.
Как подключить:
- Поднимите Docling Serve (команда выше) — он даёт REST API на порту
5001. Важно держатьUVICORN_WORKERS=1: при большем числе воркеров Docling выдаёт ошибки «Task Not Found». - В Open WebUI откройте Admin Panel → Settings → Documents.
- В выпадающем списке движка извлечения (content extraction engine) смените Default на Docling и укажите адрес сервера:
http://host.docker.internal:5001(если Open WebUI запущен в Docker) илиhttp://localhost:5001(нативная установка). - Загружайте PDF, DOCX и презентации в базу знаний Open WebUI — теперь они проходят через Docling, и RAG отвечает точнее, с сохранением таблиц и структуры.
Тонкая настройка качества: 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 |
Полезные варианты применения
Подготовка базы знаний для RAG. Прогоняете регламенты, отчёты и договоры через Docling — и ИИ отвечает по чистому тексту с сохранёнными таблицами, а не по мешанине из PDF.
Извлечение таблиц из отчётов. Финансовые и аналитические документы превращаются в структурированные таблицы (Markdown/JSON), пригодные для дальнейшей обработки.
Поиск по архиву PDF. Большой архив сканов и документов конвертируется в текст с OCR — по нему можно искать и задавать вопросы.
Конвейер для ИИ-агентов. Через MCP-сервер Docling подключается к агентам: агент сам забирает документ, парсит его и работает с содержимым.
Оцифровка сканов. OCR вытаскивает текст из сканированных страниц и изображений, сохраняя разметку.
Данные для обучения моделей. Docling готовит чистые датасеты из документов для дообучения и файн-тюнинга.
Ссылки
- Репозиторий: github.com/docling-project/docling
- Документация: docling-project.github.io/docling
- Docling Serve (REST API): github.com/docling-project/docling-serve
- Сайт проекта: docling.ai
По теме
Если вы собираете собственную ИИ-среду с поиском по документам и хотите, чтобы RAG отвечал точно, важно правильно выстроить связку извлечения и интерфейса под вашу задачу.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Связанные материалы
История о том, как я вместе с Кодексом провел аудит семи VPS на TimeWeb: через API, read-only проверки, серверные паспорта, поиск уязвимостей, аккуратное усиление безопасности и во…
Через 48 часов после того, как Карпати описал свою систему LLM Knowledge Bases, на GitHub появился инструмент, который делает всё то же — одной командой. Разбираюсь, что умеет Grap…