
Reagan: online store product classification platform
, updated onpython machine learning backend mlops devops container
Table of content
Elevator pitch
Are your online store customers having trouble finding what they’re looking for because of poor product categorization?
Would you like to improve your customers’ shopping experience?
Call on Reagan: the autonomous product classification platform!
It integrates with your information system and uses advanced artificial intelligence models to make predictions. There’s no need to have any knowledge of data science: once configured, Reagan learns automatically to always ensure an excellent level of performance and awareness of the products offered for sale on your store.
Want to give it a try? Go to Github or consult the documentation.
Features
- Documented prediction API based on OpenAPI (Swagger) and JSON Schema standards.
- Deep learning models pre-trained on 84,000 products in 27 categories.
- Simple configuration via text file.
- Advanced monitoring:
- Model performance and training.
- Prediction API performance.
- Automatic model training and production.
- Centralized logs and telemetry.
The platform can operate in two ways:
- Stand-alone: deploys all components for optimal operation, including data storage and log centralization.
- Integrated: deploys only model-related components and uses your servers for training data retrieval and log centralization.
Technical environment
- Libraries: Pydantic, FastAPI, MLFlow, Tensorflow, OpenTelemetry
- Integrated solutions: Signoz, MLFlow model registry, Tensorboard, Quartz
- System environment : Docker, Kubernete, Github Actions, PostgreSQL
- Dev environment: Python 3.11, Poetry, VSCode Dev Container, Mypy, Ruff, Black, pre-commit, Conventional commit
Architecture diagram
Note: this diagram doesn’t mention any container scaling.
Context
This project was initiated during my DataScientest MLOps training, which is part of my Machine Learning Engineer’s degree. However, it has gone beyond the expected scope to become a modular solution.
It was presented to a panel of judges at a presentation to validate my skills.
Development is still in progress at a slow pace. My idea is to use it as a template to bootstrap other machine learning project I could have.