Что это
Unstructured помогает подготовить документы к поиску и работе с моделью. Partitioning извлекает текст и элементы вроде заголовков, абзацев и таблиц, а chunking собирает из них фрагменты. Сохраняйте сведения об источнике, чтобы потом можно было проверить ответ.
Есть открытая Python-библиотека и отдельные коммерческие API и Platform. Набор функций и качество сложных документов у них не обязательно одинаковы. Локальная библиотека не требует отправить каждый файл в облако, но выбранные модели обработки и зависимости нужно проверить отдельно.
Начните с простого текста, где заранее известно содержание. После этого проверьте свои PDF, сканы и таблицы: успешное чтение TXT ничего не говорит о порядке колонок или точности распознавания скана.
Ключевые параметры
- Категория: RAG и базы знаний
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Поддерживает разные типы документов через соответствующие partition-функции.
- Возвращает типизированные элементы и метаданные.
- Chunking учитывает элементы документа, а не только произвольные символы.
- Открытую библиотеку можно включить в собственный локальный процесс.
Ограничения
- PDF, изображения и другие форматы могут требовать extras и системных зависимостей.
- Сканы, колонки и таблицы требуют проверки качества извлечения.
- Библиотека, платный API и Platform различаются по возможностям.
- Векторный индекс, права доступа и генерацию ответа нужно построить отдельно.
Как использовать
1. Подготовка. Возьмите учебный TXT с двумя непустыми абзацами без личных данных. Запишите исходный текст; для следующего этапа выберите один разрешенный PDF с понятным порядком чтения.
2. Настройка. Создайте отдельное Python-окружение поддерживаемой версии и установите pip install unstructured. Для TXT не нужны PDF extras; для PDF или DOCX затем установите соответствующие extras и системные зависимости по документации. Зафиксируйте версии пакетов.
3. Первый результат. В Python выполните from unstructured.partition.text import partition_text, затем elements = partition_text(filename="sample.txt", encoding="utf-8"). Выведите для каждого элемента category и text, а для сохранения используйте element.to_dict(). Это результат разбора, еще не база знаний.
4. Проверка. Сверьте извлеченные абзацы с TXT и убедитесь, что кириллица не повреждена. Затем проверьте собственный PDF: порядок текста, пропуски и таблицы. Только после этого настройте chunking, сохранение источника и индекс; проверяйте выдачу RAG отдельными вопросами и не теряйте права доступа.
Примеры сценариев
- Получить элементы учебного TXT и сохранить структуру.
- Проверить порядок чтения PDF до индексации.
- Подготовить chunks с указанием исходного документа.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
OSS-библиотека доступна по Apache-2.0; оплачиваются ваши вычисления и обслуживание. Коммерческие API и Platform имеют отдельные тарифы и условия, не включенные в локальный пакет. Доступность и оплата облачного сервиса из России здесь не подтверждены.
Когда не подходит
- Гарантировать точность реквизитов без сверки
- Считать готовые chunks полноценным поиском
- Ожидать всех облачных функций от OSS-библиотеки
Альтернативы
Docling также разбирает документы в структуру для дальнейшей обработки. Google Document AI - облачная обработка с процессорами и своими тарифами. Tesseract OCR распознает текст изображений, но сам не создает всю цепочку chunking и RAG.