Production-grade sentiment analysis with automated experimentation, testing, and deployment
End-to-end MLOps system for sentiment analysis featuring automated experimentation, intelligent model promotion, and cloud deployment.
- Tested multiple models with BoW and TF-IDF
- Tracked all experiments using MLflow
- End-to-end DVC pipeline for data โ model
- Fully reproducible with versioned parameters
- Automatically promotes only high-quality models
- Uses MLflow registry for staging and production
- Automated builds and deployments via GitHub Actions
- Dockerized deployment on AWS EC2
- Validates model performance and API endpoints
- Prevents faulty models from being deployed
- FastAPI app for real-time sentiment prediction
- Clean UI with health and confidence checks
- Machine Learning: Pandas & NumPy, NLTK
- Mlops Tools: MLflow, DVC, DagShub
- Deployement & CICD: Docker, GitHub Actions, AWS (EC2, ECR) , FastAPI
Sentiment-Classification/
โโโ sentiment_classification/
โ โโโ data/ # Data ingestion & preprocessing
โ โโโ features/ # Feature engineering (BoW/TF-IDF)
โ โโโ modeling/ # Training, evaluation, registry
โ โโโ connections/ # AWS S3 integration
โโโ fastapi_app/
โ โโโ app.py # FastAPI application
โ โโโ templates/ # Web interface
โโโ notebooks/ # Experimentation notebooks
โโโ scripts/
โ โโโ promote_model.py # Smart model promotion
โโโ tests/ # Unit tests
โโโ data/ # Dataset (tracked by DVC)
โโโ models/ # Saved models
โโโ .github/workflows/ # CI/CD pipeline
โโโ dvc.yaml # DVC pipeline definition
โโโ Dockerfile # Container configuration
Want to run this project?
๐ Complete Setup Instructions
Includes local setup, DVC pipeline execution, MLflow tracking, Docker deployment, and AWS deployment guide.
- Building reproducible ML pipelines with DVC
- Experiment tracking and model versioning with MLflow
- Conditional deployment strategies
- CI/CD for ML systems
- Docker containerization best practices
- AWS cloud deployment (ECR + EC2)
- Writing production-ready ML code
- Comprehensive testing for ML systems
- Kubernetes: Migrate to K8s for auto-scaling
- Redis Caching: Cache predictions for faster responses
- Authentication: Add user management with OAuth2/JWT
- Monitoring: Implement Prometheus + Grafana dashboards
- A/B Testing: Compare model versions in production
- Explainability: Add SHAP/LIME for prediction explanations
Harsh Patel
๐ง code.by.hp@gmail.com
๐ GitHub โข LinkedIn
โญ Star this repo if you find it useful


