Данный репозиторий содержит исходный код веб‑сервиса для автоматизированной расшифровки архивных документов московских архивов, что способствует сохранению исторического наследия.
Нам было интересно поработать с современными моделями OCR, в частности TrOCR, произвести разметку датасета с архивными изображениями, а также получить опыт создания полноценного веб-сервиса с применением моделей ИИ.
Backend & API
- Python
- FastAPI
- Uvicorn
- Pydantic
Machine Learning & Data Science
- PyTorch
- Hugging Face Transformers
- NumPy & SciPy
- OpenCV & Pillow
- pdf2image
Frontend & Визуализация
- Streamlit
База Данных
- PostgreSQL
-
Клонируйте репозиторий:
git clone https://github.com/mikhailvokhrameev/archive_vision.git cd archive_vision -
Установите Docker в зависимости от вашей ОС:
- Windows: Установите Docker Desktop по официальной инструкции.
- macOS: Установите Docker Desktop по официальной инструкции.
- Linux: Установите Docker Engine по официальной инструкции.
-
Запустите docker-compose:
Важно: Все команды должны запускаться из корневой папки проекта.
docker-compose up --build # build and run docker-compose up #run
Чтобы открыть frontend нужно перейти по ссылке: http://localhost:8501/
Для настройки среды проекта выполните следующее:
-
Клонируйте репозиторий:
git clone https://github.com/mikhailvokhrameev/archive_vision.git cd archive_vision -
Создайте и активируйте виртуальное окружение (рекомендуется):
# Создание окружения python3 -m venv venv # Активация на macOS/Linux: source venv/bin/activate # Активация на Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Запуск backend
Этот скрипт запускает backend по адресу http://127.0.0.1:8001.
uvicorn main:app --reload --host 127.0.0.1 --port 8001
-
Запуск frontend
Этот скрипт запускает frontend по адресу http://127.0.0.1:8000. Для изменения порта или IP требуется добавить в переменные окружения в docker файле API_BASE_URL ссылку на сервер.
streamlit run ./front/app.py
-
Настройка БД
В качестве базы данных используется PostgreSQL. Для связи backend и базы данных требуется создать файл .env в папке backend и добавить переменную:
DATABASE_URL="postgresql://user:password@localhost:5432/db_name" -
Работа с сервисом
По умолчанию работа сервиса производится по адресу http://127.0.0.1:8501. Для загрузки и обработки документа требуется загрузить файл с изображением страницы документа через веб интерфейс.
