#
Technische Architektur
#
Plattform-Komponenten
Die Architektur der Plattform setzt sich aus 5 Kernkomponenten und den zugehörigen Datenbanken für die Datenspeicherung zusammen.
#
Chat
Dient als Client für den*die Chatbotnutzer*in zur Kommunikation mit den Backend-Systemen. Die Verbindung findet dabei mittels HTTPS-Verbindung statt und nutzt die Dialog-API (JSON mit XML-Inhalten).
#
aiStudio
Ermöglicht den aiStudio-Nutzer*innen der Plattform die Verwaltung der Chatbot-Inhalte, sowie die Auswertung geführter Konversationen. Eine Authentifizierung des*der Administrator*in mittels Benutzername und Passwort ist erforderlich. Die Authentifizierung erfolgt über das Open-Source Identitäts- und Zugriffsmanagement Keycloak. Die Daten des aiStudios (Chatbot-Inhalte) werden dabei in einer MySQL-Datenbank und einer Weaviate-Datenbank gespeichert. Der Zugriff auf die Konversationsdaten erfolgt per REST-Schnittstelle über die API (Moonkin).
#
API (Moonkin)
Dient als Router / Koordinator für die anderen Plattform-Komponenten. Moonkin stellt eine HTTP-API (REST-ähnlich) zur Verfügung, welche von den anderen Komponenten genutzt werden. Die angebotenen APIs können zudem unabhängig genutzt und integriert werden. Hierfür steht die API-Dokumentation zur Verfügung. Die Speicherung temporärer Daten erfolgt in der Redis-Datenbank. Moonkin empfängt somit die Anfragen des Chats und leitet diese an den LLM Manager mittels HTTP-Anfrage weiter. Nach erfolgter Prozessierung wird das Ergebnis in der OpenSearch-Datenbank protokolliert und indexiert (Konversationsdaten). Die Daten der OpenSearch-Datenbank können mithilfe der Analytics-API abgefragt werden.
#
LLM Manager
Der LLM Manager ermöglicht die Integration von Wissen in das System, entweder durch den Import von Dateien oder das Crawlen von Websites. In beiden Fällen werden die Daten vektorisiert und in einer Vektordatenbank gespeichert. Eine weitere zentrale Aufgabe des LLM Managers ist es, die zugrundeliegenden Sprachmodelle mit relevanten Ergebnissen aus der Wissensdatenbank zu versorgen und so passende Antworten zu generieren. Es steht eine breite Palette an Sprachmodellen zur Verfügung, darunter Modelle von OpenAI wie GPT-4o, GPT-4o Mini und GPT-4 Turbo sowie Open-Source-Modelle wie Llama 3 und Claude 3.5.
#
Keycloak
Über das Open-Source Identitäts- und Zugriffsmanagement "Keycloak" werden Rollen & Rechte im aiStudio gemanaged.