Quality assurance · Production
Monitoring ML models in production with FastAPI and Evidently AI
The problem
ML models in production produce wrong predictions, unexpected label distributions, and surprising inputs, but most practitioners treat deployment as the final step rather than the beginning of an ongoing monitoring responsibility.
Workflow diagram · grounded in source
1
Prediction request received
trigger
“create an endpoint that receives POST requests”
2
Prediction logged to BigQuery
integration
“background_tasks.add_task(save_to_bq, input=features, result=prediction)”
3
Data drift dashboard generated
ai_action
“The Data Drift dashboard allows you to measure the difference in distribution between the predictions you are making, and the labels of your training set. When these two start to become significantly different, you are likely encounterin…”
4
Dashboard served at /monitoring
output
“Every time we visit /monitoring, Fast API will run the generate_dashboard function and return an html file”
Reported outcome
The described setup adds production visibility via a Data Drift dashboard that highlights distributional divergence between training data and live predictions, with prediction logging done as a non-blocking background task.
Reported metrics
Prediction latency impactkeep prediction latency as low as possible
Reported stack
FastAPIEvidentlynannyMLpandasjoblib
Frequently asked questions
What did this team achieve with this AI workflow?
The described setup adds production visibility via a Data Drift dashboard that highlights distributional divergence between training data and live predictions, with prediction logging done as a non-blocking background…
What tools did this team use?
FastAPI, Evidently, nannyML, pandas, joblib.
What results were reported?
Prediction latency impact: keep prediction latency as low as possible (source-reported, not independently verified).
How is this quality assurance AI workflow structured?
Prediction request received → Prediction logged to BigQuery → Data drift dashboard generated → Dashboard served at /monitoring.