Architektur
Eine selbst gehostete Instanz besteht aus wenigen Teilen, die zusammenpassen.
Die Bestandteile
- Web-App: eine Next.js-Anwendung, die die Konsole, die API und den Editor unter
/editorbereitstellt. Dies ist der Dienst, den Sie ausführen. - Datenbank: Postgres mit der pgvector-Erweiterung. Sie speichert Ihre Daten und unterstützt die KI-Vektorsuche, sodass Sie keine separate Vektordatenbank benötigen.
- Objektspeicher: ein S3-kompatibler Speicher für Medien. Die Standard-Selbsthosting-Einrichtung verwendet MinIO, und Sie können stattdessen auf Ihren eigenen S3-Bucket verweisen.
- Authentifizierung: eine sitzungsbasierte Authentifizierungsschicht mit E-Mail und Passwort sowie optionaler Anmeldung über Google und GitHub.
Wie eine Anfrage abläuft
Der Browser lädt die Web-App. Die App liest und schreibt Ihre Daten in Postgres, speichert und stellt Medien aus dem S3-Speicher bereit und ruft bei Nutzung der KI Ihren KI-Anbieter vom Server aus auf. Der Editor läuft im Browser und speichert über dieselbe App.
Einheitliche Codebasis
Dieselbe Codebasis betreibt sowohl den verwalteten Dienst als auch das Selbsthosting. Die Konfiguration entscheidet über den Unterschied: Bei Selbsthosting ist die Abrechnung deaktiviert, der Speicher ist MinIO, und die Instanz ist standardmäßig Single-Tenant. Siehe Konfiguration.