Dự án này sử dụng EvidentlyAI và Agent AI tự viết để giám sát tự động hiện tượng drift (trôi dữ liệu) trong pipeline Machine Learning. Khi drift xảy ra, agent sẽ gửi cảnh báo qua email và Slack, đồng thời đề xuất retrain mô hình.
- ✅ Phát hiện Data Drift tự động với
evidently
- ✅ Giám sát định kỳ với
apscheduler
- ✅ Gửi email alert khi phát hiện drift
- ✅ Gửi Slack notification (thông qua webhook)
- ✅ Sinh file báo cáo HTML minh hoạ
- ✅ In ra đề xuất retrain khi có drift
ml-drift-monitoring/
├── agent/ # Mã agent giám sát
│ └── monitor_agent.py
├── data/ # Dữ liệu đầu vào và báo cáo
│ ├── reference.csv # Dữ liệu huấn luyện ban đầu
│ ├── current.csv # Dữ liệu hiện tại
│ ├── data_drift_report.html
│ └── drift_monitor.log
├── .env # Biến môi trường (email, webhook)
├── requirements.txt # Thư viện Python
├── drift_check.ipynb # Notebook kiểm tra thử drift
git clone https://github.com/<ten-cua-ban>/ml-drift-monitoring.git
cd ml-drift-monitoring
python -m venv venv
venv\Scripts\activate # Trên Windows
# source venv/bin/activate # Trên Mac/Linux
pip install -r requirements.txt
Tạo file .env
với nội dung:
EMAIL_PASSWORD=mật_khẩu_app_gmail
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
Lưu ý: Cần bật App Password trong tài khoản Gmail.
python agent/monitor_agent.py
- Đã sử dụng
BlockingScheduler
trong code - Hoặc có thể dùng Task Scheduler (Windows) hoặc cron
-
Nếu có drift:
- ✉ Nhận email cảnh báo
- 🔔 Slack nhận thông báo
- 🧑🧳 Console in ra đề xuất retrain
-
Nếu KHÔNG drift:
- Ghi log và in ra:
✅ No Drift.
- Ghi log và in ra:
Tác giả: vanhai11203@gmail.com