Skip to content

Mojarung/vtb_mortech_ocr

Repository files navigation

OCR Microservice

Микросервис для извлечения текста из документов (PDF, DOCX, TXT, MD) с использованием OCR технологий.

Возможности

  • Извлечение текста из PDF файлов с помощью Tesseract OCR
  • Обработка DOCX документов
  • Поддержка текстовых файлов (TXT, MD)
  • REST API на FastAPI
  • Поддержка русского и английского языков

Развертывание на Heroku

Предварительные требования

  1. Учетная запись Heroku
  2. Heroku CLI установлен
  3. Git репозиторий

Шаги развертывания

  1. Создайте приложение на Heroku:

    heroku create your-ocr-app-name
  2. Добавьте buildpack для системных зависимостей:

    heroku buildpacks:add --index 1 heroku/python
    heroku buildpacks:add --index 2 https://github.com/heroku/heroku-buildpack-apt
  3. Создайте файл Aptfile для системных зависимостей:

    echo "tesseract-ocr" > Aptfile
    echo "poppler-utils" >> Aptfile
    echo "libgl1" >> Aptfile
    echo "libmagic1" >> Aptfile
  4. Установите переменные окружения:

    heroku config:set TIMEWEB_API_KEY=your_api_key_here
  5. Разверните приложение:

    git add .
    git commit -m "Deploy to Heroku"
    git push heroku main
  6. Проверьте статус:

    heroku ps:scale web=1
    heroku logs --tail

API Endpoints

  • GET / - Информация о сервисе
  • GET /ocr/health - Проверка здоровья сервиса
  • POST /ocr/process-file - Обработка файла

Использование API

# Проверка здоровья
curl https://your-app-name.herokuapp.com/ocr/health

# Обработка файла
curl -X POST "https://your-app-name.herokuapp.com/ocr/process-file" \
     -H "accept: application/json" \
     -H "Content-Type: multipart/form-data" \
     -F "[email protected]"

Локальная разработка

  1. Установите зависимости:

    pip install -r requirements.txt
  2. Установите системные зависимости (Ubuntu/Debian):

    sudo apt-get install tesseract-ocr poppler-utils libgl1 libmagic1
  3. Запустите сервис:

    python main.py

Переменные окружения

  • TIMEWEB_API_KEY - API ключ для Timeweb (опционально)
  • PORT - Порт для запуска (автоматически устанавливается Heroku)

Ограничения

  • Максимальный размер файла: 50MB
  • Поддерживаемые форматы: PDF, DOCX, TXT, MD
  • Таймаут обработки: 30 секунд (настраивается в Heroku)

Мониторинг

Для мониторинга производительности используйте:

heroku logs --tail
heroku ps

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •