How ov2294/student_performance_mlops works
This is a student pass/fail prediction product with a reproducible model lifecycle, model serving, a Streamlit dashboard, experiment tracking, and drift monitoring. The principal workflow generates student data, prepares training and reference data, trains and selects a model, checks its quality, and monitors drift; the resulting model is served through FastAPI and the dashboard. The graph follows the README’s documented DVC stage order and sampled source for runtime reads and writes. Jenkins CI/CD and deployment tooling are omitted; unsampled deployment internals are not inferred.
Main entry points: train.py Model training · app.py Streamlit dashboard · dvc.yaml DVC pipeline · preprocess.py Data preparation
Components 20
Model lifecycle
- DVC pipeline
dvc.yaml - Data generation
src/generate_data.py - Raw student data
- Data preparation
src/preprocess.py - Prepared datasets
- Model training
src/train.py - Feature pipeline
src/pipeline.py - Champion model
- Model metrics
- Quality gate
src/evaluate.py - MLflow tracking
Prediction serving
- FastAPI service
src/api.py - Shared inference
src/predictor.py
Monitoring
- Drift reference
- Drift monitor
src/monitor.py - Drift report
- Prediction log
User interfaces
- Streamlit dashboard
app.py
Other components
- API consumer
- Dashboard user
Connections 29
- DVC pipeline → Data generation: dispatches
- DVC pipeline → Data preparation: dispatches
- DVC pipeline → Model training: dispatches
- DVC pipeline → Quality gate: dispatches
- DVC pipeline → Drift monitor: dispatches
- Data generation → Raw student data: writes
- Data preparation → Raw student data: reads
- Data preparation → Prepared datasets: writes
- Data preparation → Drift reference: writes
- Model training → Prepared datasets: reads
- Model training → Feature pipeline: builds
- Model training → Champion model: writes
- Model training → Model metrics: writes
- Model training → MLflow tracking: logs runs
- Model training → MLflow tracking: registers model
- Quality gate → Model metrics: reads
- Drift monitor → Drift reference: reads
- Drift monitor → Prediction log: reads
- Drift monitor → Drift report: writes
- API consumer → FastAPI service: requests predictions
- FastAPI service → Shared inference: calls
- Shared inference → Champion model: loads
- Shared inference → Prediction log: appends
- Dashboard user → Streamlit dashboard: uses
- Streamlit dashboard → Shared inference: calls
- Streamlit dashboard → Model metrics: reads
- Streamlit dashboard → Drift report: reads
- Streamlit dashboard → Prediction log: reads
- Streamlit dashboard → MLflow tracking: queries runs