Skip to content

Getting Started

Prerequisites

  • Docker & Docker Compose
  • Git
  • 8GB+ RAM allocated to Docker (WSL2: edit ~/.wslconfig)

Quick Start

# Clone and configure
git clone https://github.com/louisphilipmarcoux/giga-flow-mlops.git
cd giga-flow-mlops
cp .env.example .env

# Start all services (14 containers)
make up

# Train the first model (inside producer container)
make train

# Open the dashboard
open http://localhost:8501

Services

Service URL Description
Model Service http://localhost:8000 Prediction API
API Docs http://localhost:8000/docs Swagger/OpenAPI
MLflow UI http://localhost:5000 Model registry
Dashboard http://localhost:8501 Streamlit UI
Grafana http://localhost:3000 Monitoring dashboards
Prometheus http://localhost:9090 Metrics & alerts
MinIO Console http://localhost:9001 Object storage

First Prediction

curl -X POST http://localhost:8000/predict \
  -H "Content-Type: application/json" \
  -d '{"text": "I love this product!"}'

Response:

{
  "text": "I love this product!",
  "sentiment_label": "Positive",
  "top_emotion": "love",
  "emotions": {"love": 0.95, "admiration": 0.05, ...},
  "language": "en",
  "is_toxic": false,
  "cached": false
}

Useful Commands

make up          # Start all services
make down        # Stop all services
make test        # Run test suite
make test-unit   # Run unit tests only
make lint        # Check code quality
make train       # Train a model
make logs        # Tail all logs
make load-test   # Run Locust load tests
make clean       # Stop and remove volumes