Author: Adam Silva GitHub: https://github.com/adaumsilva/
Specialization: AI Engineering, RAG Architectures, and MLOps.
MLOps-Sentinel is a production-grade machine learning repository designed to demonstrate the complete lifecycle of a predictive model. Moving beyond experimental notebooks, this project implements a robust engineering framework for training, deploying, and monitoring high-availability models in a containerized environment.
- Automated Training Pipeline: A modularized Python engine for data preprocessing, feature engineering, and Scikit-learn/XGBoost model training.
- Production API Layer: An asynchronous FastAPI implementation providing a /predict endpoint with strict Pydantic data validation.
- Containerization: Optimized multi-stage Docker builds to ensure consistent environments and small image footprints.
- CI/CD Integration: Automated GitHub Actions workflows for code linting (Black/Flake8) and unit testing on every push.
- Observability: Integration with Prometheus metrics to track inference latency and request volume in real-time.
The project follows a modular MLOps structure:
- Data Ingestion: Raw data is processed through versioned transformation scripts.
- Model Training: Models are trained and serialized using standard persistence formats.
- Deployment: The API serves the model via a high-performance Uvicorn server.
- Monitoring: Metrics are exposed via a /metrics endpoint for Prometheus scraping.
- Model Framework: Scikit-learn / XGBoost
- API Framework: FastAPI / Uvicorn
- Validation: Pydantic
- Infrastructure: Docker / Docker-compose
- CI/CD: GitHub Actions
- Monitoring: Prometheus / Client_python
- Quality Assurance: Pytest
- Python 3.10 or higher
- Docker and Docker Compose
-
Clone the repository:
git clone [https://github.com/adaumsilva/MLOps-Sentinel.git](https://github.com/adaumsilva/MLOps-Sentinel.git) cd MLOps-Sentinel -
Set up the environment:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Train the initial model:
python src/training/train.py
To deploy the API and Prometheus monitoring stack simultaneously:
docker-compose up --build