Die Open-Source-Chat-App mit KI für alle.
Die neueste Demo finden Sie hier.
Hallo zusammen! Ich habe Ihr Feedback gehört und arbeite intensiv an einem großen Update.
Dinge wie einfachere Bereitstellung, bessere Backend-Kompatibilität und verbesserte mobile Layouts sind in Arbeit.
Bald gibt es Neuigkeiten.
-- Mckay
Nutzen Sie Chatbot UI, ohne es selbst hosten zu müssen!
Die offizielle gehostete Version von Chatbot UI finden Sie hier.
Wenn Sie Chatbot UI nützlich finden, erwägen Sie bitte, mich zu sponsern, um meine Open-Source-Arbeit zu unterstützen :)
Wir beschränken "Issues" auf tatsächliche Probleme im Zusammenhang mit der Codebasis.
Wir erhalten übermäßig viele Issues, die sich auf Dinge wie Funktionsanfragen, Cloud-Provider-Probleme usw. beziehen.
Wenn Sie Probleme mit Dingen wie der Einrichtung haben, lesen Sie bitte den Abschnitt "Hilfe" im Reiter "Discussions" oben.
Issues, die nichts mit der Codebasis zu tun haben, werden wahrscheinlich sofort geschlossen.
Wir ermutigen Sie ausdrücklich, am Reiter "Discussions" oben teilzunehmen!
Diskussionen sind ein großartiger Ort, um Fragen zu stellen, Ideen auszutauschen und Hilfe zu erhalten.
Die Wahrscheinlichkeit ist hoch, dass wenn Sie eine Frage haben, jemand anderes dieselbe Frage hat.
Chatbot UI wurde kürzlich auf Version 2.0 aktualisiert.
Der Code für Version 1.0 befindet sich im Branch legacy
.
Führen Sie in Ihrem Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys folgenden Befehl aus:
npm run update
Wenn Sie eine gehostete Instanz betreiben, müssen Sie außerdem folgenden Befehl ausführen:
npm run db-push
um die neuesten Migrationen auf Ihre Live-Datenbank anzuwenden.
Befolgen Sie diese Schritte, um Ihre eigene Chatbot-UI-Instanz lokal zum Laufen zu bringen.
Das vollständige Video-Tutorial können Sie hier ansehen.
git clone https://github.com/mckaywrigley/chatbot-ui.git
Öffnen Sie ein Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys und führen Sie folgenden Befehl aus:
npm install
Zuvor haben wir lokalen Browser-Speicher zur Datenspeicherung verwendet. Dies war jedoch aus mehreren Gründen keine gute Lösung:
Wir verwenden jetzt Supabase, weil es einfach zu nutzen ist, Open-Source ist, auf Postgres basiert und eine kostenlose Stufe für gehostete Instanzen bietet.
In Zukunft werden wir andere Anbieter unterstützen, um Ihnen mehr Optionen zu bieten.
Sie müssen Docker installieren, um Supabase lokal auszuführen. Sie können es hier kostenlos herunterladen.
MacOS/Linux
brew install supabase/tap/supabase
Windows
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
Führen Sie in Ihrem Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys folgenden Befehl aus:
supabase start
Führen Sie in Ihrem Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys folgenden Befehl aus:
cp .env.local.example .env.local
Holen Sie sich die erforderlichen Werte, indem Sie folgenden Befehl ausführen:
supabase status
Hinweis: Verwenden Sie API URL
aus supabase status
für NEXT_PUBLIC_SUPABASE_URL
Gehen Sie nun zu Ihrer .env.local
-Datei und füllen Sie die Werte aus.
Wenn die Umgebungsvariable gesetzt ist, wird die Eingabe in den Benutzereinstellungen deaktiviert.
In der ersten Migrationsdatei supabase/migrations/20240108234540_setup.sql
müssen Sie 2 Werte durch die oben erhaltenen Werte ersetzen:
project_url
(Zeile 53): http://supabase_kong_chatbotui:8000
(Standard) kann unverändert bleiben, wenn Sie Ihre project_id
in der config.toml
-Datei nicht ändernservice_role_key
(Zeile 54): Diesen Wert haben Sie durch Ausführen von supabase status
erhaltenDies verhindert Probleme mit nicht ordnungsgemäß gelöschten Speicherdateien.
Befolgen Sie die Anweisungen hier.
Führen Sie in Ihrem Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys folgenden Befehl aus:
npm run chat
Ihre lokale Instanz von Chatbot UI sollte nun unter http://localhost:3000 laufen. Stellen Sie sicher, dass Sie eine kompatible Node-Version verwenden (z.B. v18).
Sie können Ihr Backend-GUI unter http://localhost:54323/project/default/editor einsehen.
Befolgen Sie diese Schritte, um Ihre eigene Chatbot-UI-Instanz in der Cloud zum Laufen zu bringen.
Das Video-Tutorial folgt in Kürze.
Wiederholen Sie die Schritte 1-4 im Abschnitt "Lokaler Schnellstart" oben.
Sie sollten separate Repositorys für Ihre lokalen und gehosteten Instanzen verwenden.
Erstellen Sie ein neues Repository für Ihre gehostete Instanz von Chatbot UI auf GitHub und pushen Sie Ihren Code dorthin.
Gehen Sie zu Supabase und erstellen Sie ein neues Projekt.
Sobald Sie sich im Projekt-Dashboard befinden, klicken Sie auf das "Project Settings"-Symbol ganz links unten.
Hier erhalten Sie die Werte für die folgenden Umgebungsvariablen:
Project Ref
: Befindet sich unter "General settings" als "Reference ID"
Project ID
: Befindet sich in der URL Ihres Projekt-Dashboards (z.B.: https://supabase.com/dashboard/project/<IHR_PROJEKT_ID>/settings/general)
Klicken Sie weiterhin in "Settings" auf den Reiter "API" links.
Hier erhalten Sie die Werte für die folgenden Umgebungsvariablen:
Project URL
: Befindet sich unter "API Settings" als "Project URL"
Anon key
: Befindet sich unter "Project API keys" als "anon public"
Service role key
: Befindet sich unter "Project API keys" als "service_role" (Erinnerung: Behandeln Sie diesen wie ein Passwort!)
Klicken Sie als Nächstes auf das "Authentication"-Symbol ganz links.
Klicken Sie in den Text-Reitern auf "Providers" und stellen Sie sicher, dass "Email" aktiviert ist.
Für Ihre persönliche Instanz empfehlen wir, "Confirm email" auszuschalten.
Öffnen Sie Ihr Repository für Ihre gehostete Instanz von Chatbot UI.
In der ersten Migrationsdatei supabase/migrations/20240108234540_setup.sql
müssen Sie 2 Werte durch die oben erhaltenen Werte ersetzen:
project_url
(Zeile 53): Verwenden Sie den Project URL
-Wert von obenservice_role_key
(Zeile 54): Verwenden Sie den Service role key
-Wert von obenÖffnen Sie nun ein Terminal im Stammverzeichnis Ihres lokalen Chatbot-UI-Repositorys. Wir werden hier einige Befehle ausführen.
Melden Sie sich bei Supabase an, indem Sie folgenden Befehl ausführen:
supabase login
Verknüpfen Sie als Nächstes Ihr Projekt, indem Sie folgenden Befehl mit der oben erhaltenen "Project ID" ausführen:
supabase link --project-ref <project-id>
Ihr Projekt sollte nun verknüpft sein.
Führen Sie abschließend folgenden Befehl aus, um Ihre Datenbank auf Supabase zu pushen:
supabase db push
Ihre gehostete Datenbank sollte nun eingerichtet sein!
Gehen Sie zu Vercel und erstellen Sie ein neues Projekt.
Importieren Sie auf der Setup-Seite Ihr GitHub-Repository für Ihre gehostete Instanz von Chatbot UI. Wechseln Sie in den Projekteinstellungen im Abschnitt "Build & Development Settings" das Framework-Preset zu "Next.js".
Fügen Sie in den Umgebungsvariablen folgende Werte aus den oben erhaltenen Werten hinzu:
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
SUPABASE_SERVICE_ROLE_KEY
NEXT_PUBLIC_OLLAMA_URL
(nur erforderlich bei Verwendung lokaler Ollama-Modelle; Standard: http://localhost:11434
)Sie können auch API-Schlüssel als Umgebungsvariablen hinzufügen.
OPENAI_API_KEY
AZURE_OPENAI_API_KEY
AZURE_OPENAI_ENDPOINT
AZURE_GPT_45_VISION_NAME
Die vollständige Liste der Umgebungsvariablen finden Sie in der Datei '.env.local.example'. Wenn die Umgebungsvariablen für API-Schlüssel gesetzt sind, wird die Eingabe in den Benutzereinstellungen deaktiviert.
Klicken Sie auf "Deploy" und warten Sie, bis Ihr Frontend bereitgestellt ist.
Nach der Bereitstellung sollten Sie Ihre gehostete Instanz von Chatbot UI über die von Vercel bereitgestellte URL nutzen können.
Wir arbeiten an einer Anleitung für Beiträge.
Schreiben Sie Mckay auf Twitter/X