Сервис реализован на FastAPI и предназначен для выдачи результатов последовательной работы модели выделения автомобильного номера и модель распознования текста номера
Документация и тестирование GET и POST запросов
В src/container_task.py
лежит код двух классов:
Storage
- умеет сохранять рассчитанные значения в*.json
(позволяет "кешировать" результаты работы модели).ProcessPlates
- умеет загружать ONNX модели и определять текст автомобильного номера, после чего зоветStorage
, чтобы тот сохранил контент.
В app.py
лежит приложение FastAPI, у которого две ручки:
get_content
- возвращает контент поcontent_id
.process_content
- генерирует контент с помощью нейронной сети для переданного изображения.
Пример работы можно посмотреть в src/container_task.py
Сначала создать и активировать venv:
python3 -m venv venv
. venv/bin/activate
Дальше поставить зависимости:
make install
make install
- установка библиотек
make run_app
- запустить сервис. Можно с аргументомAPP_PORT
make build
- собрать образ. Можно с аргументамиDOCKER_TAG
,DOCKER_IMAGE
make lint
- запуск линтеров
make run_unit_tests
- запуск юнит-тестовmake run_integration_tests
- запуск интеграционных тестовmake run_all_tests
- запуск всех тестов