VA
vanhai1231/ml-drift-monitoring
Agent AI tự động giám sát drift dữ liệu trong pipeline ML, cảnh báo qua email và Slack.
Agent AI giám sát Drift dữ liệu trong Machine Learning
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.
✨ Tính năng
- ✅ 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
📁 Cấu trúc thư mục dự án
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
🚀 Cách chạy nhanh
1. Clone dự án từ GitHub
git clone https://github.com/<ten-cua-ban>/ml-drift-monitoring.git
cd ml-drift-monitoring2. Tạo virtual environment
python -m venv venv
venv\Scripts\activate # Trên Windows
# source venv/bin/activate # Trên Mac/Linux3. Cài đặt thư viện
pip install -r requirements.txt4. Thêm file .env
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.
5. Chạy agent
python agent/monitor_agent.py6. (Tuự động) Scheduler 60 phút/lần
- Đã sử dụng
BlockingSchedulertrong code - Hoặc có thể dùng Task Scheduler (Windows) hoặc cron
📊 Kết quả khi chạy
-
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:
📖 Tham khảo
📢 Liên hệ
Tác giả: vanhai11203@gmail.com
On this page
Languages
HTML99.8%Python0.2%Jupyter Notebook0.1%
Contributors
Created June 2, 2025
Updated August 1, 2025