Zum Inhalt springen

Architektur

EU Cowork AI läuft in Containern auf einer Linux-Maschine. Diese Seite zeigt den Aufbau in groben Zügen. Sie beschreibt, welchen Weg eine Anfrage nimmt und welche Entscheidungen dahinterstehen, nicht die Einrichtung im Einzelnen.

Der Weg einer AnfrageVon oben nach unten: Der Browser erreicht einen einzigen Einstieg, der TLS beendet. Dahinter läuft die Anwendung, LibreChat, mit der Datenhaltung für Konten und Konversationen. Für die Modellantworten selbst spricht die Anwendung den Modellanbieter ausserhalb des Servers an.ZugangBrowserIhr ServerEinstieghier endet TLSAnwendungChat, Agenten, DateienDatenhaltungKonten und KonversationenAusserhalbModellanbieterdort werden die Modellantworten berechnet

Zwei Dinge sind daran wesentlich. Erstens führt jeder Weg von aussen über den Reverse-Proxy; die übrigen Dienste nehmen keine Verbindungen aus dem Netz an. Zweitens bleiben Konten, Konversationen und Dateien auf Ihrem Server, während für die Modellantworten selbst der Anbieter angesprochen wird.

Reverse-Proxy. Der einzige Einstieg von aussen. Er beendet TLS, kümmert sich um das Zertifikat und verteilt die Anfragen an die Dienste dahinter.

Anwendung. Das ist LibreChat. Der Dienst liefert die Oberfläche aus, spricht die Modell-Anbieter an, führt die Agenten aus und verarbeitet hochgeladene Dateien.

Datenhaltung. Konten, Konversationen, Nachrichten, Agenten und Protokolle liegen in der Datenbank der Instanz, dazu kommen ein Suchindex über die eigenen Chats und die hochgeladenen Dateien auf demselben Server. Die Datenbank ist die Quelle der Wahrheit, der Suchindex lässt sich daraus jederzeit neu aufbauen.

Ergänzungen von EU Cowork AI. Um LibreChat herum liegen eigene Dienste für Administration, Rechteverwaltung und Verbrauchsübersicht sowie die Anbindung an Fremdsysteme. Sie sind nur innerhalb der Instanz erreichbar und stehen nicht im Netz.

Ausserhalb der Instanz. Für die Modellantworten wird der Inferenz-Anbieter angesprochen, für die Web-Suche externe Suchmaschinen. Wird die Code-Ausführung eingeschaltet, läuft sie in einer eigenen, abgetrennten Umgebung neben der Anwendung.

LibreChat kennt keine Mandanten. Die Trennung liegt deshalb unterhalb der Anwendung: Ein Kunde ist eine eigene Instanz mit eigener Datenbank, eigenem Suchindex, eigenen Dateien, eigener Konfiguration und eigenem Inferenz-Schlüssel. Ob zwei Instanzen sich eine Maschine teilen, ist danach eine reine Kosten- und Risikofrage.

Geteilt werden dürfen allenfalls Betriebsmittel ohne Kundenbezug. Getrennt bleiben müssen in jedem Fall die Datenhaltung, die Konfiguration samt aller Schlüssel und die Umgebung der Code-Ausführung. Sonst lassen sich weder die Daten noch die Kosten sauber je Kunde auseinanderhalten.