# Training Engine (CP-TRAIN) KI-generierte Schulungsinhalte, Rollenmatrix, Quiz-Engine und Zertifikatsverwaltung für Compliance-Schulungen. **Prefix:** `CP-TRAIN` · **seq:** 4800 · **Frontend:** `https://macmini:3007/sdk/training` **Service:** `ai-compliance-sdk` (Go/Gin, Port 8093) **Proxy:** `/api/sdk/v1/training/[[...path]]` → `ai-compliance-sdk:8090/sdk/v1/training/...` --- ## Features - Rollenbasierte Schulungsmatrix (Wer muss was absolvieren?) - KI-generierte Schulungsinhalte (Text, Audio, Video via TTS-Service) - Quiz-Engine mit automatischer Auswertung - Deadline-Tracking und Eskalation bei Überziehung - Aufgabenzuweisung (Assignments) mit Fortschrittstracking - Unveränderliches Audit-Log für Compliance-Nachweise - Bulk-Content-Generierung für alle Module auf einmal --- ## Rechtsgrundlage | Artikel | Bezug | |---------|-------| | Art. 39 Abs. 1b DSGVO | DSB-Aufgabe: Sensibilisierung und Schulung | | Art. 5 AI Act | Schulungspflicht für verbotene KI-Praktiken | | Art. 4 Abs. 2 AI Act | Schulung für KI-Alphabetisierung | --- ## Tabs / Ansichten | Tab | Inhalt | |-----|--------| | `overview` | Statistiken, Deadline-Warnung, Eskalation-Check | | `modules` | CRUD aller Schulungsmodule mit Filter (Status, Regulierung) | | `matrix` | Rollen-Modul-Matrix — wer muss welche Schulung absolvieren | | `assignments` | Zugewiesene Schulungen mit Fortschritt und Deadline | | `content` | KI-generierter Inhalt pro Modul + Audio/Video-Player | | `audit` | Unveränderliches Audit-Log aller Schulungsaktivitäten | --- ## API Endpoints ### Module | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/modules` | Alle Module (`status`, `regulation` Filter) | | `GET` | `/sdk/v1/training/modules/:id` | Modul-Detail | | `POST` | `/sdk/v1/training/modules` | Modul erstellen | | `PUT` | `/sdk/v1/training/modules/:id` | Modul aktualisieren | | `DELETE` | `/sdk/v1/training/modules/:id` | Modul löschen | ### Rollenmatrix | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/matrix` | Vollständige Rollenmatrix | | `GET` | `/sdk/v1/training/matrix/role/:role` | Matrix für eine Rolle | | `POST` | `/sdk/v1/training/matrix` | Eintrag hinzufügen | | `DELETE` | `/sdk/v1/training/matrix/:role/:moduleId` | Eintrag entfernen | ### Assignments | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/assignments` | Alle Zuweisungen (Filter: `status`, `role`, `moduleId`) | | `GET` | `/sdk/v1/training/assignments/:id` | Zuweisung-Detail | | `POST` | `/sdk/v1/training/assignments/compute` | Zuweisungen aus Matrix berechnen | | `POST` | `/sdk/v1/training/assignments/:id/start` | Schulung starten | | `PUT` | `/sdk/v1/training/assignments/:id` | Deadline aktualisieren | | `POST` | `/sdk/v1/training/assignments/:id/complete` | Schulung abschließen | ### KI-Inhalt | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/modules/:id/content` | Aktueller Inhalt | | `POST` | `/sdk/v1/training/modules/:id/generate` | Inhalt KI-generieren (Skript, Audio, Video) | | `POST` | `/sdk/v1/training/content/generate-all` | Alle Module bulk-generieren | | `POST` | `/sdk/v1/training/content/:id/publish` | Inhalt freigeben | ### Quiz | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/modules/:id/quiz` | Quiz-Fragen | | `POST` | `/sdk/v1/training/modules/:id/quiz/generate` | Quiz KI-generieren | | `POST` | `/sdk/v1/training/modules/:id/quiz/generate-all` | Alle Quizzes bulk-generieren | | `POST` | `/sdk/v1/training/modules/:id/quiz/submit` | Antworten einreichen | | `GET` | `/sdk/v1/training/assignments/:id/attempts` | Quiz-Versuche | ### Deadlines & Eskalation | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/deadlines` | Bevorstehende Deadlines | | `GET` | `/sdk/v1/training/deadlines/overdue` | Überfällige Deadlines | | `POST` | `/sdk/v1/training/escalations/check` | Eskalation auslösen | ### Statistiken & Audit | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/sdk/v1/training/stats` | Überblick-Statistiken | | `GET` | `/sdk/v1/training/audit` | Audit-Log (Filter: `action`, `moduleId`, `userId`) | --- ## SDK-Workflow Position ``` seq 4700: Academy (Compliance Academy — manuelle Schulungen) seq 4800: Training Engine (KI-generierte Schulungen, Matrix, Quiz) ``` Das Training-Modul erweitert die Academy um KI-generierte Inhalte. Während die Academy einfache Schulungseinheiten verwaltet, bietet die Training Engine automatische Inhaltsgenerierung, eine Rollenmatrix und eine vollständige Quiz-Engine. --- ## Media (TTS-Service) KI-generierte Inhalte werden via `compliance-tts-service` (Port 8095) in Audio und Video umgewandelt: - **Audio:** Piper TTS → MP3 (Modell: `de_DE-thorsten-high.onnx`) - **Video:** FFmpeg → MP4 (Skript + Stimme + Untertitel) - **Storage:** S3-kompatibles Object Storage (TLS) ``` AudioPlayer → /sdk/v1/training/modules/:id/media (audio) VideoPlayer → /sdk/v1/training/modules/:id/media (video) ``` --- ## Frontend **URL:** `https://macmini:3007/sdk/training` 6-Tab-Oberfläche mit: - Statistik-Dashboard (Abschlussquote, offene Schulungen, Deadlines) - Modul-CRUD mit Regulierungs-Badges - Interaktive Rollenmatrix (Checkboxen) - Fortschritts-Balken pro Assignment - Eingebetteter Audio/Video-Player für KI-generierte Inhalte --- ## Datenbankschema (Go — ai-compliance-sdk) Die Training Engine verwendet eigene Tabellen im `compliance` Schema: ```sql training_modules -- Schulungsmodule (title, regulation, frequency, ...) training_matrix -- Rollen-Modul-Zuordnungen training_assignments -- Zuweisungen (user, module, status, progress, deadline) training_content -- KI-generierter Inhalt (script, audio_url, video_url, ...) training_quiz -- Quiz-Fragen pro Modul training_quiz_attempts -- Eingereichter Antworten + Score training_audit_log -- Unveränderliches Audit-Log ```