This repository demonstrates how to implement workflows for continuous integration and continuous deployment of a simple machine learning models using GitHub Actions.
MLOps (Machine Learning Operations) is a set of practices that aims to deploy and maintain machine learning models in production reliably and efficiently. This project showcases how to leverage GitHub Actions to automate the MLOps pipeline.
- Automated training and validation of ML models
- Continuous integration of the serving layer and deployment workflows
- Model versioning and tracking
- Integration with cloud services for model deployment
To get started with this project, clone the repository and set up the necessary dependencies.
git clone https://github.com/yourusername/MLOps-githubactions.git
cd MLOps-githubactions
- git
- a text editor
No installation is required, everything is done on github actions
- Push your changes to the repository.
- Trigger the training workflows tagging with
v*
- Trigger the serving layer workflow tagging with
s*
- Update the values.yaml with the versions to deploy (model and serving layer)
- Lets ArgoCD sync the changes
- Monitor the deployment.
To test the model you can use a simple curl
:
curl -X POST "http://localhost:8080/predict" \
-H "Content-Type: application/json" \
-d '{"text": "Volare.com is amazing!"}'
To deploy the model on a local Kubernetes cluster you can use kind.