Text-extract-api: когда нужно вытащить текст из любого документа

08 Dec, 2025

Репозиторий давно не обновлялся

Последнее обновление было 7 месяцев назад.

3,139
🔱 276
👥 14

Представьте: вам скинули сканы договоров, прайс-листов или медицинских заключений, а вам нужно получить структурированные данные. Ручной ввод? Слишком долго. Обычный OCR? Часто ошибается с таблицами и формулами. text-extract-api решает эту проблему раз и навсегда.

Что это за инструмент?

Text-extract-api — это open-source решение на Python для конвертации документов (PDF, Word, изображений) в:

  • Чистый Markdown
  • Структурированный JSON

Причем делает это с впечатляющей точностью, даже для сложных случаев вроде:

  • Табличных данных
  • Математических формул
  • Медицинских отчетов
  • Финансовых документов

Главный козырь — все работает локально, без отправки ваших данных в облачные сервисы.

Пример конвертации MRI отчета

Реклама

Почему это лучше обычного OCR?

1. Комбо из OCR и LLM

Проект использует каскадную обработку:

  1. Сначала работает OCR (EasyOCR, MiniCPM-V или LLama Vision)
  2. Затем LLM (например, LLama 3.1) дорабатывает результат:
    • Исправляет ошибки распознавания
    • Улучшает форматирование
    • Может удалять персональные данные (PII)

2. Полная локальность

В отличие от многих сервисов:

  • Нет зависимости от облачных API
  • Все модели работают локально через Docker
  • Данные не уходят за пределы вашего сервера

3. Гибкость форматов

На выходе получаете:

  • Markdown для вики и документации
  • JSON для интеграции с другими системами

Как это работает технически?

Стек технологий:

  • FastAPI — веб-интерфейс
  • Celery — асинхронная обработка задач
  • Redis — кэширование результатов
  • Ollama — локальные LLM-модели

Поддерживаемые стратегии OCR:

  1. EasyOCR — быстрый и точный для английского
  2. MiniCPM-V — хорош для мультиязычных документов
  3. LLama Vision — самый точный, но требовательный к ресурсам
  4. Marker (как внешний сервис) — лидер точности для PDF

Практические кейсы

1. Обработка медицинских отчетов

python client/cli.py ocr_upload --file mri_report.pdf --prompt_file extract_to_json.txt

На выходе — готовый JSON с ключевыми показателями.

Конвертация медицинского отчета

2. Анонимизация документов

python client/cli.py ocr_upload --file invoice.pdf --prompt_file remove_pii.txt

Удаляет персональные данные из счетов и договоров.

3. Парсинг табличных данных

Отлично справляется с Excel и PDF-таблицами, сохраняя структуру в Markdown.

Как начать использовать?

  1. Клонируем репозиторий:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
  1. Запускаем через Docker:
docker-compose up --build

Или без Docker для Mac с M1/M2:

make install
make run

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

Кому особенно пригодится?

  • Разработчикам, которые интегрируют документы в свои системы
  • Аналитикам, работающим с PDF-отчетами
  • Юристам и бухгалтерам для обработки сканов
  • Техническим писателям, конвертирующим документы в Markdown

Text-extract-api — это: ✅ Локальный (ваши данные в безопасности) ✅ Точно работающий с таблицами и формулами ✅ Гибкий (поддержка разных OCR и LLM) ✅ Открытый исходный код (MIT License)

Если вы регулярно работаете с документами в PDF/Word/сканами — этот инструмент сэкономит вам часы ручной работы.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.