Unstructured: ETL решение для преобразования сложных документов в структуру

Unstructured: ETL решение для преобразования сложных документов в структуру

Unstructured — это open-source ETL решение для преобразования сложных документов в структурированные форматы, что может быть полезно для языковых моделей. Этот проект помогает упростить работу с документами, делая их подходящими для анализа и машинного обучения.

В отличие от многих аналогичных инструментов, Unstructured позволяет провести все необходимые преобразования без значительных усилий с твоей стороны. Это делает его удобным для разработчиков, работающих с текстами, которые нуждаются в структурировании перед анализом. Unstructured особенно пригодится тем, кто работает с большими объемами данных из различных источников.

Проект написан на Python и доступен для установки через pip. Для запуска достаточно выполнить команду pip install unstructured. Обрати внимание, что проект на данный момент является ранней стадией разработки и, возможно, потребует собственного ключа API для полной функциональности.

Проект unstructured — это открытая библиотека, предназначенная для предобработки неструктурированных данных, включая изображения и текстовые документы, такие как PDF, HTML и Word файлы. Основная задача этой библиотеки — облегчить и оптимизировать рабочие процессы обработки данных для языковых моделей (LLMs). Библиотека предоставляет модульные функции и соединители, которые образуют целостную систему для упрощения ввода и предобработки данных, что позволяет эффективно преобразовывать неструктурированные данные в структурированные.

Стоит отметить, что библиотека является полностью бесплатной, хотя для более качественного вывода доступны модели через Transform v2 API, которые предлагают улучшенные показатели точности.

:eight_pointed_black_star: Быстрый старт

Существует несколько способов использования библиотеки unstructured:

Запуск библиотеки в контейнере

Для начала работы с библиотекой с использованием Docker, сначала необходимо установить Docker, если он еще не установлен. Библиотека поддерживает многоплатформенные образы для архитектур x86_64 и Apple Silicon. Чтобы загрузить образ, используй следующую команду:

docker pull downloads.unstructured.io/unstructured-io/unstructured:latest

После загрузки можно создать контейнер:

# создать контейнер
docker run -dt --name unstructured downloads.unstructured.io/unstructured-io/unstructured:latest

# запустить bash в контейнере
docker exec -it unstructured bash

Установка библиотеки

Чтобы установить библиотеку, используй pip. Например, для полной установки всех типов документов:

pip install "unstructured[all-docs]"

Для обработки других типов документов могут потребоваться дополнительные зависимости. Например, чтобы установить зависимости для работы с файлами типа docx, используй:

pip install "unstructured[docx]"

Необходимые системные зависимости также могут включать:

  • libmagic-dev (для определения типа файлов)
  • poppler-utils (для работы с изображениями и PDF)
  • tesseract-ocr (для работы с изображениями и PDF)
  • libreoffice (для документов MS Office)

:clap: Пример обработки PDF документа

Приведем простой пример использования библиотеки для обработки PDF документа:

from unstructured.partition.auto import partition

elements = partition(filename="example-docs/layout-parser-paper.pdf")
print("\n\n".join([str(el) for el in elements]))

Этот код позволяет извлечь содержимое из PDF файла и вывести его в структурированном представлении.

Ограничения и замечания

Важно помнить, что для более качественного вывода могут потребоваться дополнительные платежные функции из Transform v2 API. Также при использовании библиотеки могут быть требования к установке дополнительных системных пакетов в зависимости от типов обрабатываемых документов.

Для решения вопросов или сообщений о багах можно создавать новые запросы в GitHub.

Открыть на GitHub: Unstructured-IO/unstructured →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте