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.
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
Frontend (React) → API (FastAPI) → ML Pipeline → Database (SQLite/PostgreSQL)
↓
Email Integration (IMAP/Graph API) [Optional]
- 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
- Python 3.9+
- Node.js 16+
- Git
- Repository klonen
git clone <repository-url>
cd GaussML- 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- Frontend Setup
cd ../frontend
npm install- 🎉 Starten
Terminal 1 - Backend:
cd backend
uvicorn main:app --host 127.0.0.1 --port 8000Terminal 2 - Frontend:
cd frontend
npm startNach 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 |
Führe den Test aus um zu überprüfen ob alles funktioniert:
cd backend
python quick_test.pyErwartete Ausgabe:
🎉 GaussML Email Classifier is FUNCTIONAL!
python test_api_example.pyDas System verwendet standardmäßig SQLite für die Entwicklung:
- Datenbank-Datei:
backend/email_classifier.db - Automatische Tabellenerstellung bei Setup
- Vorkonfigurierte Beispieldaten
# In .env Datei ändern:
DATABASE_URL=postgresql://user:password@localhost:5432/email_classifier# 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": {}
}'GET /health- Server StatusGET /api/stats- KlassifikationsstatistikenPOST /api/feedback- Human FeedbackGET /api/emails/pending- Ausstehende ReviewsPOST /api/classify/batch- Mehrere E-Mails
# 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-passwordpip install pydantic-settingscd backend
python setup_database.py# Server neu starten
cd backend
uvicorn main:app --host 127.0.0.1 --port 8000cd frontend
rm -rf node_modules package-lock.json
npm install
npm startAktuelle 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
# Backend ändern
cd backend
# Code ändern...
# Server startet automatisch neu (--reload)
# Frontend ändern
cd frontend
# React Hot Reload aktiv# Interaktive Docs nutzen
open http://127.0.0.1:8000/docs
# Oder curl verwenden
curl http://127.0.0.1:8000/healthFür Production Deployment:
# Docker verwenden
docker-compose up -d
# Oder manuell
cd backend
pip install -r requirements.txt
uvicorn ma