Коротко: что выбрать

RAG-пайплайн стоит на двух китах: хорошая векторная база и качественный парсинг документов. Если PDF или DOCX превращаются в кашу — LLM выдаёт мусор. В 2026 году выбор open-source инструментов для парсинга документов огромен: от лёгких утилит до enterprise-платформ. Вот основные варианты:

MinerU (69K ★ на GitHub) — самый популярный инструмент, поддерживает PDF, DOCX, PPTX, XLSX и изображения. Docling (62K ★) от IBM Research — лучшая точность извлечения таблиц (97.9%) и 8 форматов. Marker (36K ★) — быстрый конвертер PDF в Markdown с OCR через Surya. Surya (20K ★) — отдельная модель OCR и layout analysis на 650M параметров, 5 страниц/с. Unstructured (15K ★) — enterprise ETL c 40+ коннекторами и 64+ форматами.

69K Звёзд у MinerU
97.9% Точность таблиц Docling
64+ Форматов Unstructured
6 Open-source инструментов
Архитектура парсинга документов для RAG

Схема: как инструменты парсинга документов встраиваются в RAG-пайплайн

MinerU — это open-source инструмент от команды OpenDataLab, который конвертирует PDF, изображения и офисные документы в Markdown и JSON для RAG-пайплайнов

MinerU — самый звёздный проект в этой нише: 69 112 звёзд на GitHub и почти 6 000 форков. Он появился как инструмент для парсинга PDF, но к версии 3.1.0 дорос до полноценной мультиформатной системы: PDF, изображения, DOCX, PPTX, XLSX.

Главная особенность MinerU — автоматическое удаление колонтитулов, номеров страниц и сносок. Многие RAG-системы спотыкаются на том, что «верхний колонтитул — Наименование документа» попадает в середину семантического чанка. MinerU чистит это на этапе парсинга. Выходной формат — Markdown или JSON, которые напрямую идут в сплиттер и векторную БД.

Установка через pip: pip install mineru. Но есть нюанс — MinerU тянет за собой модельные веса (детекция layout, распознавание формул) и требует GPU для нормальной скорости. На CPU одна страница обрабатывается 3-5 секунд, на GPU — 0.5-1 секунда. Документация рекомендует минимум 8 GB VRAM.

MinerU умеет распознавать математические формулы (преобразует в LaTeX), таблицы с объединёнными ячейками и многоязычный текст. Для русского языка показывает хорошие результаты благодаря модели layout analysis, обученной на мультиязычных данных.

Важно: MinerU — не самый лёгкий инструмент. Его инфраструктурная нагрузка (2-4 GB RAM + GPU) сопоставима с Docling. Для простых текстовых PDF без таблиц и формул лучше взять Marker или Surya.

Docling — это open-source библиотека от IBM Research, которая парсит PDF, DOCX, PPTX, XLSX, HTML, изображения и аудио в едином пайплайне

Docling родился внутри IBM Research и в 2026 году перешёл под управление Linux Foundation (LF AI & Data). На GitHub у него 62 132 звезды. Текущая версия — 2.94.0 (май 2026). Лицензия — MIT, хотя веса моделей распространяются под отдельными лицензиями.

Ключевое преимущество Docling — TableFormer. Это модель, которая восстанавливает структуру таблиц с точностью 97.9%, сохраняя объединённые ячейки, вложенные заголовки и многострочный текст. По данным Procycons Benchmark (2025), Docling обходит LlamaParse и Unstructured по качеству извлечения таблиц из отчётов устойчивого развития.

Docling поддерживает 8 форматов на входе: PDF, DOCX, PPTX, XLSX, HTML, изображения, аудио (через VLM), WebVTT, LaTeX и XBRL. На выходе — Markdown, HTML, JSON, DocTags (lossless-формат для round-tripping) и plain text.

OCR подключается модульно: EasyOCR, Tesseract, RapidOCR, macOS Vision или VLM. Это значит, что для сканированных PDF можно поставить Tesseract (самый лёгкий), а для архивных документов с плохим качеством — VLM.

Инфраструктурная нагрузка высокая: Docling тянет PyTorch и несколько сотен мегабайт модельных весов. Типичный расход памяти — 2-4 GB. Lambda, Vercel и Cloud Run не подходят. Деплой — долгоживущий контейнер на Fly, Render, EC2 или собственном сервере. Для упрощения есть Docling Serve — готовый REST API в контейнере.

Marker — это open-source утилита для быстрого преобразования PDF в Markdown и JSON с использованием нейросетевого OCR

Marker от команды VikParuchuri (они же сделали Surya) — 36 387 звёзд на GitHub. Основная специализация: PDF в Markdown и JSON. Лицензия — GPLv3, что может быть проблемой для коммерческого встраивания.

Marker использует Surya для OCR, детекции layout и определения порядка чтения. Дополнительно подключает TableConverter для таблиц и опционально LLM для сложных случаев. Скорость: ~1 страница в секунду на GPU, 3-5 секунд на CPU.

Формат установки:

pip install marker-pdf
marker /path/to/input.pdf /path/to/output/

Marker автоматически определяет, нужен ли OCR. Для цифровых PDF (с текстовым слоем) он извлекает текст напрямую. Для сканов запускает Surya OCR. Есть флаг --force-ocr, если нужно принудительно прогнать через распознавание.

Из коробки Marker поддерживает только PDF. Для DOCX, PPTX и XLSX нужна полная установка с дополнительными зависимостями. На практике сообщество использует Marker как быстрый конвертер PDF в Markdown для RAG, а другие форматы обрабатывает отдельными инструментами.

Parsebridge сравнивает Marker с Docling и LlamaParse и отмечает, что Marker — лучший выбор для простых PDF (текст + базовые таблицы), где не нужна тяжёлая инфраструктура Docling.

Surya — это нейросетевая модель OCR и layout analysis на 650 миллионов параметров, которая обрабатывает 5 страниц в секунду на RTX 5090

Surya (20 915 звёзд) — не самостоятельный инструмент парсинга, а движок OCR и layout analysis, который используется внутри Marker. Но его можно подключать отдельно, если нужен только OCR без конвертации в Markdown.

Характеристики: 650M параметров, 83.3% на бенчмарке olmOCR-bench (лучший результат среди моделей до 3B параметров), 87.2% на внутреннем мультиязычном тесте (91 язык), скорость 5 страниц/с на RTX 5090.

Surya выполняет несколько задач одновременно: распознавание символов (OCR), определение layout (таблица, изображение, заголовок, колонтитул), определение порядка чтения (reading order) и распознавание таблиц. Для русского языка Surya показывает высокое качество — входит в топ-3 open-source OCR-решений по отзывам сообщества.

Установка: pip install surya-ocr. Для работы требуется PyTorch с CUDA. На CPU скорость падает до 0.3-0.5 страницы/с, поэтому для продакшена GPU обязателен.

Surya часто используют в связке: Surya делает OCR и layout analysis, а отдельный скрипт собирает Markdown из распознанных блоков. Это даёт больше контроля, чем Marker, но требует дополнительного кода.

Unstructured — это open-source ETL-платформа для преобразования документов в структурированные данные для языковых моделей

Unstructured (14 995 звёзд) — самый зрелый инструмент в списке с точки зрения enterprise-функций. Это не просто парсер, а полноценный ETL: коннекторы к 40+ источникам (S3, Confluence, SharePoint, Google Drive, Dropbox, Box, Azure Blob), поддержка 64+ форматов файлов, встроенные стратегии чанкинга и очистки.

Unstructured существует в двух версиях: open-source библиотека (Apache 2.0) и облачная платформа (SaaS). В open-source версии доступна базовая функциональность: функция partition(), которая определяет тип файла и запускает соответствующий парсер. Платформа добавляет коннекторы, VLM-стратегии, автоматическое обновление и инкрементальную обработку.

Цены SaaS: 15 000 страниц бесплатно, далее $0.03/страница (Pay-As-You-Go) или custom для Business (VPC, dedicated instance). Unstructured Pricing позиционирует сервис как «единое окно» для всех форматов документов.

Unstructured выигрывает в сценариях, где документы приходят из разных источников и в разных форматах: PDF, DOCX, XLSX, PPTX, HTML, XML, EPUB, изображения, аудио. Один API-вызов — и документ превращается в JSON с метаданными, готовый для загрузки в векторную БД.

Из минусов: Unstructured медленнее конкурентов на сложных PDF (51-141 секунда на документ по данным Procycons), и качество извлечения таблиц уступает Docling (75% против 97.9%). Для простых текстовых документов разница незаметна.

Сравнительная таблица инструментов

Параметр MinerU Docling Marker Surya Unstructured
GitHub звёзд 69 112 62 132 36 387 20 915 14 995
Лицензия MIT MIT (код) GPLv3 GPLv3 Apache 2.0
Форматы входа PDF, DOCX, PPTX, XLSX, IMG PDF, DOCX, PPTX, XLSX, HTML, IMG, аудио, LaTeX, XBRL PDF (основной) PDF, IMG 64+ формата
Форматы выхода Markdown, JSON Markdown, HTML, JSON, DocTags Markdown, JSON Сырые данные JSON, Markdown
OCR Встроен EasyOCR, Tesseract, RapidOCR, macOS Vision, VLM Surya OCR Собственная модель Встроен + VLM
Точность таблиц Высокая 97.9% Средняя Средняя 75%
Скорость (стр/с) 1-2 (GPU) 1-2 (GPU) ~1 (GPU) 5 (RTX 5090) 0.3-1
Инфраструктура 2-4 GB, GPU 2-4 GB, GPU 1-2 GB, GPU опционально 2 GB, GPU 1-2 GB
SaaS / Cloud Нет Docling Serve Datalab hosted Нет Да (15K стр. бесплатно)
Лучший сценарий Сложные PDF с layout Enterprise, таблицы Быстрый PDF->MD OCR + layout Мультиформатный ETL

Как выбрать инструмент для парсинга документов

Универсального ответа нет — выбор упирается в типы ваших документов, инфраструктуру и бюджет на GPU. Вот три типовых сценария:

Сценарий 1: простые PDF с текстом. Если ваши документы — это Digital PDF с текстовым слоем, без сложных таблиц и формул, Marker справится лучше всех. Он лёгкий, быстрый, ставится одной командой pip и не требует GPU. Для 100-200 страниц в день CPU-версии достаточно.

Сценарий 2: сканы, таблицы, многоколоночная вёрстка. Тут нужен полноценный парсер с OCR и layout analysis. MinerU или Docling — лучший выбор. Оба удаляют колонтитулы и номера страниц, оба понимают сложную структуру. MinerU выигрывает по количеству форматов (Office-документы из коробки), Docling — по качеству таблиц (TableFormer, 97.9% точности).

Сценарий 3: enterprise-пайплайн, 40+ источников. Unstructured — единственный вариант, который даёт коннекторы к SharePoint, Confluence, S3 и коробочную интеграцию с векторными БД. Если вам нужно «включил и забыл» — это он. Но готовьтесь к $0.03/страница после бесплатных 15 000 страниц.

Если вы только начинаете и не знаете, какие документы будут — начните с MinerU. Он самый популярный (69K звёзд — не просто так), с ним больше всего гайдов и примеров в сообществе. А по мере усложнения пайплайна легко добавить Docling для таблиц или Surya для OCR.

Для RAG-пайплайна выбор векторной БД не менее важен, чем качество парсинга. Ошибки на этапе парсинга не исправляются векторным поиском — мусор на входе даёт мусор на выходе. Поэтому тестируйте инструмент на своих реальных документах, а не на демо-файлах из README.