Сервис для определения видов грибов по фотографии с использованием нейросетевых моделей
- Docker и Docker Compose (версия 1.29+)
- Файл
.envс настройками (см. ниже)
В корневой папке проекта создайте файл .env с следующими параметрами:
DB_HOST=postgres_db
DB_PORT=5432
DB_USER=your_db_user
DB_PASS=your_db_password
DB_NAME=your_db_name
SECRET_KEY=your_secret_key
Пример:
DB_HOST=database
DB_PORT=5432
DB_USER=postgres
DB_PASS=1234
DB_NAME=sa
SECRET_KEY=06699c43232730d4d466edcd003acfb2c8f9341408da2b3f04bc9c435915a
-
Построение и запуск контейнеров:
docker-compose up --build
- Запустятся контейнеры: PostgreSQL, RabbitMQ, FastAPI-сервис, Worker и Nginx.
-
Остановка контейнеров:
docker-compose down
- Откройте в браузере:
http://localhost - Для доступа к админке RabbitMQ:
http://localhost:15672(логин/пароль из.env)
- Swagger-документация:
http://localhost/docs - Пример запроса на предсказание:
curl -X POST -H "Authorization: Bearer <TOKEN>" \ -F "file=@/путь/к/файлу.jpg" \ http://localhost/predict
- Инициализация таблиц (если нужно):
docker-compose run --rm app python app/main.py
- Обрабатывает задания из очереди RabbitMQ.
- Для увеличения параллелизма измените
replicas: 2вdocker-compose.yml.
- Списание средств происходит при отправке фото для распознавания.
- Пополнение баланса через форму на странице
/dashboard.
- Используется модель
dima806/mushrooms_image_detectionиз Hugging Face. - Для замены модели измените код в
app/models_class/ml_model.py.