Skip to content

sayed200350/GaussML

Repository files navigation

GaussML Email Classification System

🎉 STATUS: VOLLSTÄNDIG FUNKTIONSFÄHIG

Mini-Challenge erfolgreich abgeschlossen! Dieses KI-gestützte System klassifiziert automatisch unaufgeforderte Vertriebs-E-Mails für GaussML.

📊 Projekt-Status: Siehe PROJECT_STATUS.md für detaillierten Erfüllungsnachweis der Mini-Challenge

Ein KI-gestütztes System zur automatischen Klassifikation von unaufgeforderten Vertriebs-E-Mails für GaussML.

🎯 Überblick

Dieses System klassifiziert täglich über 50 eingehende E-Mails automatisch in:

  • Potenzieller Kunde - Leads für Optimyzer und andere Lösungen
  • Lieferant/Dienstleister - B2B-Partner für Beschaffung
  • Personalvermittler - Recruiting-Anfragen
  • Spam - Unerwünschte Werbung und Phishing

🏗️ Architektur

Frontend (React) → API (FastAPI) → ML Pipeline → Database (SQLite/PostgreSQL)
                      ↓
              Email Integration (IMAP/Graph API) [Optional]

🚀 Features

  • Multi-Level Klassifikation mit Confidence Scoring
  • Active Learning für kontinuierliche Verbesserung
  • Human-in-the-Loop für Grenzfälle
  • Real-time Dashboard für Monitoring
  • Automatische Aktionen basierend auf Klassifikation
  • Deutsche Sprachoptimierung für DACH-Region

📦 Schnellstart Installation

Voraussetzungen

  • Python 3.9+
  • Node.js 16+
  • Git

🚀 Setup (5 Minuten)

  1. Repository klonen
git clone <repository-url>
cd GaussML
  1. Backend Setup
cd backend

# Dependencies installieren
pip install -r requirements.txt
pip install pydantic-settings

# Environment-Datei erstellen
cp env.example .env

# Datenbank initialisieren
python setup_database.py
  1. Frontend Setup
cd ../frontend
npm install
  1. 🎉 Starten

Terminal 1 - Backend:

cd backend
uvicorn main:app --host 127.0.0.1 --port 8000

Terminal 2 - Frontend:

cd frontend
npm start

🔗 Verfügbare URLs

Nach dem Start sind folgende Services verfügbar:

Service URL Beschreibung
API Documentation http://127.0.0.1:8000/docs Interactive Swagger UI
Health Check http://127.0.0.1:8000/health Server Status
Email Classification POST http://127.0.0.1:8000/api/classify API Endpoint
Frontend Dashboard http://localhost:3000 React Web Interface

🧪 Testen der Installation

Führe den Test aus um zu überprüfen ob alles funktioniert:

cd backend
python quick_test.py

Erwartete Ausgabe:

🎉 GaussML Email Classifier is FUNCTIONAL!

API Beispiel testen:

python test_api_example.py

📊 Database Setup

Das System verwendet standardmäßig SQLite für die Entwicklung:

  • Datenbank-Datei: backend/email_classifier.db
  • Automatische Tabellenerstellung bei Setup
  • Vorkonfigurierte Beispieldaten

Für Production (PostgreSQL):

# In .env Datei ändern:
DATABASE_URL=postgresql://user:password@localhost:5432/email_classifier

🎛️ API Endpoints

Klassifikation

# Einzelne E-Mail klassifizieren
curl -X POST "http://127.0.0.1:8000/api/classify" \
     -H "Content-Type: application/json" \
     -d '{
       "subject": "Angebot für Optimyzer Software",
       "body": "Sehr geehrte Damen und Herren...",
       "sender": "kunde@example.com",
       "metadata": {}
     }'

Weitere Endpoints

  • GET /health - Server Status
  • GET /api/stats - Klassifikationsstatistiken
  • POST /api/feedback - Human Feedback
  • GET /api/emails/pending - Ausstehende Reviews
  • POST /api/classify/batch - Mehrere E-Mails

🔧 Konfiguration

Environment Variablen (.env)

# Database
DATABASE_URL=sqlite:///./email_classifier.db

# Security
SECRET_KEY=your-secret-key
DEBUG=True

# CORS
ALLOWED_HOSTS=http://localhost:3000,http://localhost:8000

# ML Models
MODEL_PATH=./models/
BERT_MODEL_NAME=bert-base-german-cased

# Optional: E-Mail Integration
EMAIL_HOST=outlook.office365.com
EMAIL_USERNAME=your-email@company.com
EMAIL_PASSWORD=your-app-password

🐛 Troubleshooting

"PydanticImportError: BaseSettings"

pip install pydantic-settings

"Database connection failed"

cd backend
python setup_database.py

"Backend server not reachable"

# Server neu starten
cd backend
uvicorn main:app --host 127.0.0.1 --port 8000

Frontend Build Fehler

cd frontend
rm -rf node_modules package-lock.json
npm install
npm start

📈 ML Model Performance

Aktuelle Modelle:

  • Classifier: XGBoost (292KB)
  • Vectorizer: TF-IDF (457 bytes)
  • Encoder: Label Encoder (379 bytes)

Performance:

  • Processing Time: <2s pro E-Mail
  • German Language Optimized
  • Confidence Scoring verfügbar

🔄 Development Workflow

Neue Features entwickeln:

# Backend ändern
cd backend
# Code ändern...
# Server startet automatisch neu (--reload)

# Frontend ändern  
cd frontend
# React Hot Reload aktiv

API testen:

# Interaktive Docs nutzen
open http://127.0.0.1:8000/docs

# Oder curl verwenden
curl http://127.0.0.1:8000/health

🚀 Production Setup

Für Production Deployment:

# Docker verwenden
docker-compose up -d

# Oder manuell
cd backend
pip install -r requirements.txt
uvicorn ma

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published