Repolode
CatchTheTornado

CatchTheTornado/text-extract-api

Самостоятельно размещаемый сервис на FastAPI, который преобразует PDF, изображения и документы Office в Markdown или структурированный JSON с OCR, локальными LLM через Ollama и удалением персональных данных.

Open source альтернатива:Adobe AcrobatABBYY FineReader

Звёзды
3,184
Форки
279
Открытые issues
49
Последний коммит
10 месяцев назад

Что это?

text-extract-api — сервис извлечения данных из документов: он преобразует изображения, PDF и файлы Office в текст Markdown или структурированный JSON. В основе — FastAPI, Celery для асинхронной обработки задач и Redis для кеширования результатов OCR. Доступно несколько стратегий OCR, в том числе EasyOCR, MiniCPM-V и Llama 3.2 Vision через Ollama, а также удалённая стратегия, которая обращается к внешнему серверу marker-pdf.

Результаты OCR можно передавать LLM, запущенной через Ollama, с пользовательским промптом — например, чтобы получить JSON или удалить персональные данные из счетов и отчётов. Результаты можно сохранять с помощью подключаемых профилей хранилищ: в локальной файловой системе, Google Drive или Amazon S3. В проекте есть файлы Docker Compose для CPU- и GPU-конфигураций, а также CLI и клиент на TypeScript.

Проект рассчитан на команды, которым нужна обработка документов без отправки файлов во внешние облачные сервисы. Данные остаются на компьютере или сервере, где запущен стек, однако удалённая стратегия marker и облачные хранилища передают данные на настроенные вами конечные точки.

Ключевые возможности

  • 01Преобразует изображения, PDF и документы Office в Markdown или JSON.
  • 02Поддерживает стратегии OCR на базе EasyOCR, MiniCPM-V, Llama 3.2 Vision и удалённого marker-pdf.
  • 03Использует модели, запущенные через Ollama, для постобработки текста OCR и извлечения структурированных данных.
  • 04Удаляет персональные данные с помощью промптов.
  • 05Асинхронно выполняет задачи через Celery и кеширует результаты OCR в Redis.
  • 06Сохраняет результаты на локальный диск, в Google Drive или Amazon S3 с помощью профилей хранилищ.

Сценарии использования

  • Преобразование отсканированных счетов и отчётов в структурированный JSON для последующей обработки другими системами.
  • Удаление персональных данных из документов перед передачей или архивированием.
  • Запуск OCR документов в локальной инфраструктуре, где файлы не могут покидать сеть.
  • Создание API для загрузки и обработки документов с передачей текста в RAG- или поисковые конвейеры.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/CatchTheTornado/text-extract-api.git
  2. 2

    Перейдите в каталог проекта

    cd text-extract-api
  3. 3

    Запустите все сервисы с помощью Docker Compose

    docker-compose up --build

Что важно знать

  • Для локальных OCR-моделей и LLM Ollama требуется мощное оборудование. Кроме того, стратегия llama_vision работает очень медленно из-за 90 миллиардов параметров.
  • Удалённая стратегия marker-pdf распространяется по лицензии GPL3 и не включена в комплект; кроме того, на веса модели распространяются ограничения на некоммерческое использование.

Темы

Частые вопросы

Что такое text-extract-api?
Самостоятельно размещаемый сервис на FastAPI, который преобразует PDF, изображения и документы Office в Markdown или структурированный JSON с OCR, локальными LLM через Ollama и удалением персональных данных. text-extract-api — сервис извлечения данных из документов: он преобразует изображения, PDF и файлы Office в текст Markdown или структурированный JSON. В основе — FastAPI, Celery для асинхронной обработки задач и Redis для кеширования результатов OCR. Доступно несколько стратегий OCR, в том числе EasyOCR, MiniCPM-V и Llama 3.2 Vision через Ollama, а также удалённая стратегия, которая обращается к внешнему серверу marker-pdf.
text-extract-api можно использовать бесплатно? Какая у него лицензия?
text-extract-api распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
text-extract-api всё ещё поддерживается?
Нет коммитов больше 6 месяцев. Последний коммит в text-extract-api — 8 дек. 2025 г..
Для чего можно использовать text-extract-api?
Преобразование отсканированных счетов и отчётов в структурированный JSON для последующей обработки другими системами. Удаление персональных данных из документов перед передачей или архивированием. Запуск OCR документов в локальной инфраструктуре, где файлы не могут покидать сеть. Создание API для загрузки и обработки документов с передачей текста в RAG- или поисковые конвейеры.
Как установить text-extract-api?
Клонируйте репозиторий: git clone https://github.com/CatchTheTornado/text-extract-api.git Перейдите в каталог проекта: cd text-extract-api Запустите все сервисы с помощью Docker Compose: docker-compose up --build
Где скачать text-extract-api?
Исходный код и инструкции по установке — на GitHub: https://github.com/CatchTheTornado/text-extract-api

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Микросервис в Docker и интерфейс Gradio для сегментации страниц PDF на заголовки, текст, таблицы, изображения и другие элементы, распознавания текста и преобразования в Markdown/HTML.

1,4 тыс.148PythonApache-2.0Обновлён 13 дней назад