Skip to content
/ REACT Public

Sistema a microservizi containerizzato per generare e classificare recensioni prodotto. Il tutto integrato con FastAPI, MLflow per l’MLOps e DVC per la gestione dei dati su DagsHub.

Notifications You must be signed in to change notification settings

Fxller/REACT

Repository files navigation

🧠 REACT: Review Evaluation And Creation Tool

Docker FastAPI MLflow DVC

Sistema a microservizi containerizzato per generare e classificare recensioni prodotto. Il tutto integrato con FastAPI, MLflow per l’MLOps e DVC per la gestione dei dati su DagsHub.


⚙️ Features

  • Generazione automatica di recensioni da nome prodotto e rating
  • 📊 Classificazione automatica di recensioni testuali
  • 🚀 API asincrone con FastAPI
  • 🔁 Orchestrazione intelligente via microservizi
  • 🧪 Monitoraggio esperimenti ML con MLflow
  • 🧺 Gestione dati tramite DVC (Dataset Amazon Reviews)

🧱 Architettura

📦 REACT/
🔼-- orchestrator/          # Riceve input e smista richieste
🔼-- reviews-generator/     # Genera la recensione testuale (porta 8001)
🔼-- reviews-classifier/    # Classifica la recensione (porta 8002)
🔼-- frontend/              # (Opzionale) interfaccia utente
🔼-- docker-compose.yml     # Orchestrazione container
🔼-- .env / .env.example    # Configurazioni ambiente
🔼-- data/, scripts/, utils/, .dvc/ ...

▶️ Setup del progetto

1. Clona la repository

git clone https://github.com/Fxller/REACT.git
cd REACT

2. Crea il file .env

cp .env.example .env

Compila con le tue credenziali DagsHub:

MLFLOW_TRACKING_USERNAME=ilTuoUsername
MLFLOW_TRACKING_PASSWORD=ilTuoAccessToken
MLFLOW_TRACKING_URI=https://dagshub.com/Fxller/se4ai-project.mlflow

3. Avvia i container

docker-compose up --build

Per riavviare pulito:

docker-compose down
docker-compose up --build

🧪 Test delle API (via orchestrator - porta 8000)

🔀 Generazione recensione

curl -X POST http://localhost:8000/process \
  -H "Content-Type: application/json" \
  -d '{"prompt": "genera una recensione per un rossetto a 4 stelle"}'

⭐ Classificazione recensione

curl -X POST http://localhost:8000/process \
  -H "Content-Type: application/json" \
  -d '{"prompt": "valuta questa recensione: Il profumo è durato solo due ore"}'

📊 Monitoraggio esperimenti

Traccia ogni esecuzione su MLflow: 👉 Visualizza su DagsHub


🧠 Modelli e tecnologie

  • 🧬 transformers, torch – NLP pre-addestrato
  • 🧪 scikit-learn – classificazione
  • FastAPI – microservizi REST asincroni
  • 🔍 MLflow – logging e metriche
  • 📦 Docker, docker-compose – containerizzazione
  • 📂 DVC – gestione dataset e modelli

👥 Autori

  • 👩‍💻 Rosa Carotenuto
  • 🧑‍💻 Luigi Guida
  • 🧑‍💻 Francesco Perilli

About

Sistema a microservizi containerizzato per generare e classificare recensioni prodotto. Il tutto integrato con FastAPI, MLflow per l’MLOps e DVC per la gestione dei dati su DagsHub.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published