Deploy A/B testing infrastructure in a containerized microservice architecture for Machine Learning applications.
This repository uses Kubernetes, helm, ambassador, seldon-core, and seldon-core-analytics.
- Install helm
brew install helm
- Create a Kubernetes cluster: AKS, EKS, GKE or local cluster. For local clusters, one can use
minikube
,kind
, ork3s
. In case you are usingminikube
:
make minikube
Prepare the model artifacts
make train
make build
make load
- ambassador
make ambassador
- seldon-core-analytics
make seldon-core-analytics
- seldon-core
make seldon-core
make abtest
make port
make port-grafana
make streamlit
- Training: https://github.com/SeldonIO/seldon-core/tree/master/examples/models/sklearn_spacy_text
- Seldon-core installation:
- Install Ambassador: https://docs.seldon.io/projects/seldon-core/en/latest/ingress/ambassador.html
- Install seldon-core operator: https://docs.seldon.io/projects/seldon-core/en/latest/workflow/install.html
- Seldon-core-analytics installation: https://docs.seldon.io/projects/seldon-core/en/latest/charts/seldon-core-analytics.html
- Custom metrics: https://docs.seldon.io/projects/seldon-core/en/latest/examples/runtime_metrics_tags.html
- Streamlit: https://docs.streamlit.io/library/cheatsheet