'use client' const ARCHITECTURE_DIAGRAM = `┌─────────────────────────────────────────────────────────────────────────────┐ │ MAGIC HELP ARCHITEKTUR │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌───────────────┐ ┌──────────────────┐ ┌───────────────┐ │ │ │ FRONTEND │ │ BACKEND │ │ STORAGE │ │ │ │ (Next.js) │ │ (FastAPI) │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────┐ │ REST │ ┌────────────┐ │ │ ┌─────────┐ │ │ │ │ │ Admin │──┼─────────┼──│ TrOCR │ │ │ │ Models │ │ │ │ │ │ Panel │ │ │ │ Service │──┼─────────┼──│ (ONNX) │ │ │ │ │ └─────────┘ │ │ └────────────┘ │ │ └─────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌─────────┐ │ WebSocket│ ┌────────────┐ │ │ ┌─────────┐ │ │ │ │ │ Lehrer │──┼─────────┼──│ Klausur │ │ │ │ LoRA │ │ │ │ │ │ Portal │ │ │ │ Processor │──┼─────────┼──│ Adapter │ │ │ │ │ └─────────┘ │ │ └────────────┘ │ │ └─────────┘ │ │ │ │ │ │ │ │ │ │ │ │ └───────────────┘ │ ┌────────────┐ │ │ ┌─────────┐ │ │ │ │ │ Pseudo- │ │ │ │Training │ │ │ │ │ │ nymizer │──┼─────────┼──│ Data │ │ │ │ │ └────────────┘ │ │ └─────────┘ │ │ │ │ │ │ │ │ │ └──────────────────┘ └───────────────┘ │ │ │ │ │ │ (nur pseudonymisiert) │ │ ▼ │ │ ┌──────────────────┐ │ │ │ CLOUD LLM │ │ │ │ (SysEleven) │ │ │ │ Namespace- │ │ │ │ Isolation │ │ │ └──────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘` const COMPONENTS = [ { icon: '🔍', title: 'TrOCR Service', details: [ { label: 'Modell', value: 'microsoft/trocr-base-handwritten' }, { label: 'Größe', value: '~350 MB' }, { label: 'Lizenz', value: 'MIT' }, { label: 'Framework', value: 'PyTorch / Transformers' }, ], description: 'Das TrOCR-Modell von Microsoft ist speziell für Handschrifterkennung trainiert. Es verwendet eine Vision-Transformer (ViT) Architektur für Bildverarbeitung und einen Text-Decoder für die Textgenerierung.', }, { icon: '🎯', title: 'LoRA Fine-Tuning', details: [ { label: 'Methode', value: 'Low-Rank Adaptation' }, { label: 'Adapter-Größe', value: '~10 MB' }, { label: 'Trainingszeit', value: '5-15 Min (CPU)' }, { label: 'Min. Beispiele', value: '10' }, ], description: 'LoRA fügt kleine, trainierbare Matrizen zu bestimmten Schichten hinzu, ohne das Basismodell zu verändern. Dies ermöglicht effizientes Fine-Tuning mit minimaler Speichernutzung.', }, { icon: '🔒', title: 'Pseudonymisierung', details: [ { label: 'Methode', value: 'QR-Code Tokens' }, { label: 'Token-Format', value: 'UUID v4' }, { label: 'Mapping', value: 'Lokal beim Lehrer' }, { label: 'Cloud-Daten', value: 'Nur Tokens + Text' }, ], description: 'Schülernamen werden durch anonyme Tokens ersetzt, bevor Daten die lokale Umgebung verlassen. Das Mapping wird ausschließlich lokal gespeichert.', }, { icon: '☁️', title: 'Cloud LLM', details: [ { label: 'Provider', value: 'SysEleven (DE)' }, { label: 'Standort', value: 'Deutschland' }, { label: 'Isolation', value: 'Namespace pro Schule' }, { label: 'Datenverarbeitung', value: 'Nur pseudonymisiert' }, ], description: 'Die KI-Korrektur erfolgt auf deutschen Servern mit strikter Mandantentrennung. Es werden keine Klarnamen oder identifizierenden Informationen übertragen.', }, ] const DATA_FLOW_STEPS = [ { color: 'blue', num: 1, title: 'Lokale Header-Extraktion', desc: 'TrOCR erkennt Schülernamen, Klasse und Fach direkt im Browser/PWA (offline-fähig)' }, { color: 'purple', num: 2, title: 'Pseudonymisierung', desc: 'Namen werden durch QR-Code Tokens ersetzt, Mapping bleibt lokal' }, { color: 'green', num: 3, title: 'Cloud-Korrektur', desc: 'Nur pseudonymisierte Dokument-Tokens werden an die KI gesendet' }, { color: 'yellow', num: 4, title: 'Re-Identifikation', desc: 'Ergebnisse werden lokal mit dem Mapping wieder den echten Namen zugeordnet' }, ] export default function ArchitectureTab() { return (
{ARCHITECTURE_DIAGRAM}
{comp.description}