Skip to content

Commit 2127c29

Browse files
README
1 parent 8ed10af commit 2127c29

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

β€ŽREADME.mdβ€Ž

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,36 @@
1-
# mlops-drift-detector
1+
# MLOps Model Drift Monitoring System
2+
3+
[![CI](https://github.com/predictivemanish/mlops-drift-detector/actions/workflows/ci.yml/badge.svg)](https://github.com/predictivemanish/mlops-drift-detector/actions/workflows/ci.yml)
4+
[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/)
5+
[![FastAPI](https://img.shields.io/badge/FastAPI-0.104.1-009688.svg)](https://fastapi.tiangolo.com)
6+
[![Streamlit](https://img.shields.io/badge/Streamlit-1.28.1-FF4B4B.svg)](https://streamlit.io)
7+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8+
9+
A production-ready MLOps system that detects concept drift in machine learning models through real-time statistical performance comparison. Built with FastAPI, Streamlit, and scikit-learn.
10+
11+
## πŸ“‹ Features
12+
13+
- **Real-time Drift Detection**: Statistical comparison using PSI (Population Stability Index) and KS tests
14+
- **Fast Inference**: <500ms prediction latency
15+
- **Configurable Alerts**: 15% threshold with Discord webhook integration
16+
- **Interactive Dashboard**: Streamlit dashboard with Plotly visualizations
17+
- **Async Logging**: Non-blocking prediction logging to SQLite
18+
- **Docker Support**: Containerized deployment
19+
- **CI/CD**: Automated testing via GitHub Actions
20+
- **Zero-cost Deployment**: Ready for Render (API) and Hugging Face Spaces (Dashboard)
21+
22+
## πŸ—οΈ Architecture
23+
24+
```
25+
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
26+
β”‚ Client │───▢│ FastAPI │───▢│ SQLite β”‚
27+
β”‚ (curl/app) β”‚ β”‚ Inference β”‚ β”‚ Database β”‚
28+
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
29+
β”‚ β”‚ β”‚
30+
β–Ό β–Ό β–Ό
31+
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
32+
β”‚ Drift β”‚ β”‚ Streamlit β”‚ β”‚ Discord β”‚
33+
β”‚ Detector │───▢│ Dashboard │───▢│ Webhook β”‚
34+
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
35+
36+
```

β€Žrequirements.txtβ€Ž

16 Bytes
Binary file not shown.

0 commit comments

Comments
Β (0)