Architektur
Das Modul-Anerkennungstool ist als modulare Python-Anwendung konzipiert, die externe APIs (LLMs und Mocogi) integriert.
Systemübersicht
graph TD
User((Benutzer)) --> GUI[Gradio UI]
GUI --> Service[RecognitionService]
Service --> MCP[MocogiClient]
Service --> LLM[LLM Interface]
MCP --> MocogiAPI[Mocogi API / TH Köln]
LLM --> OpenAI[OpenAI / Gemini / Groq]
Service --> RAG[RAG Manager]
RAG --> VectorDB[(Vector DB)]
Datenfluss: Anerkennungsprozess
- Eingabe: Der Benutzer gibt eine externe Modulbeschreibung ein.
- Extraktion: Das LLM analysiert den Text und extrahiert Metadaten (Name, ECTS, Keywords).
- Suche: Der
MocogiClientnutzt das Model Context Protocol (MCP), um in der TH Köln Datenbank nach ähnlichen Modulen zu suchen. - Vergleich: Für die Top-Treffer generiert das LLM einen detaillierten Vergleichsbericht.
- Entscheidung: Der Benutzer wählt Module für den Anerkennungsantrag aus.
Kernkomponenten
- RecognitionService: Orchestriert die Logik zwischen GUI, MCP und LLM.
- MocogiClient: Kommuniziert über MCP mit dem Mocogi-Server.
- LLMInterface: Abstraktionsschicht für verschiedene Sprachmodelle über
llm_client. - Models: Pydantic-Modelle zur Validierung und Typisierung der Daten.