Ollama mit GUI nutzen (und Hosted-Fallback)
Ollama läuft selbst im Terminal, aber jede Chat-Oberfläche, die das OpenAI-Format spricht, kann darauf aufsetzen. Hier siehst du, wie du eine einrichtest und denselben Chat auf einen gehosteten Endpunkt richtest.

Keine Karte nötig. Nach der Anmeldung fordere mit einem Klick $0,50 kostenloses Testguthaben an (einmal pro Person).
API-Schlüssel erhaltenWichtige Punkte
- Ollama hat kein eingebautes Chat-Fenster; du fügst eine Oberfläche wie Open WebUI hinzu.
- Oberflächen kommunizieren mit Ollama oder jeder OpenAI-kompatiblen URL, sodass eine GUI beide Verbindungen halten kann.
- Verwende für die gehostete Verbindung die Basis-URL https://api.ollamansfw.com/v1 und die Modell-ID uncensored.
- Streaming, Function Calling und JSON-Modus funktionieren über den gehosteten Endpunkt mit Standard-Client-Einstellungen.
Warum Ollama eine separate GUI benötigt
Wenn du wissen willst, wie du Ollama mit einer GUI nutzt, ist die erste Tatsache, die du akzeptieren musst, dass das Ollama-Projekt ein Server und ein Kommandozeilen-Tool ist. Es lädt Modelle herunter und beantwortet Anfragen über einen lokalen Port. Das Chat-Fenster ist die Aufgabe anderer, und es gibt mehrere gute.
Diese Trennung ist nützlich. Da Ollama eine OpenAI-ähnliche API auf deinem eigenen Rechner bereitstellt (standardmäßig unter Port 11434 unter /v1), kann jede Frontend-Anwendung, die eine benutzerdefinierte OpenAI-Base-URL festlegen kann, diese nutzen. Dieselbe Eigenschaft bedeutet, dass du dieses Frontend später woanders hin verweisen kannst. Dieser Artikel zeigt zunächst die lokale Einrichtung und fügt dann einen gehosteten Endpunkt als zweite Verbindung hinzu.
Wähle ein Frontend
Drei Kategorien von Tools decken die meisten Nutzer ab. Prüfe die jeweilige Dokumentation der Projekte für aktuelle Installationsschritte, da sie sich häufig ändern.
- Open WebUI. Eine selbst gehostete Browser-Oberfläche. Sie unterstützt Ollama direkt und akzeptiert auch jede OpenAI-kompatible Verbindung. Normalerweise mit Docker oder pip installiert.
- Desktop-Clients. Native Apps wie Chatbox oder Msty ermöglichen es dir, einen Ollama-Server oder einen OpenAI-kompatiblen Anbieter über einen Einstellungsbildschirm hinzuzufügen. Kein Server zum Ausführen nötig.
- Roleplay- und Schreib-Frontends. SillyTavern ermöglicht es dir, einen OpenAI-kompatiblen Endpunkt hinzuzufügen, und ähnliche Tools existieren für Langzeit-Fiktion und Begleiter-Charaktere für Erwachsene.
Wenn du keinen Docker-Container möchtest, ist ein Desktop-Client der kürzeste Weg. Wenn du eine gemeinsam genutzte Oberfläche für mehrere Personen im selben Netzwerk möchtest, ist Open WebUI die übliche Wahl.
Schritt für Schritt mit Open WebUI
- Installiere und starte Ollama, ziehe dann ein Modell mit dem Befehl
ollama pull. Stelle sicher, dass es über das Terminal antwortet, bevor du fortfährst. - Starte Open WebUI. Mit Docker ist das übliche Muster, einen Port zu veröffentlichen und ein Volume für seine Daten zu mounten.
- Öffne die Webseite, erstelle das erste lokale Konto (es wird zum Admin) und suche den Bereich für Verbindungen in den Admin-Einstellungen.
- Stelle sicher, dass die Ollama-URL auf die Maschine zeigt, auf der Ollama läuft. Wenn beide auf demselben Host laufen, ist dies normalerweise die lokale Adresse am Port 11434. Wenn Open WebUI in einem Container ausgeführt wird, bedeutet
localhostden Container selbst, was der häufigste Grund ist, warum die Modellliste leer bleibt. - Lade neu, wähle ein Modell aus dem Dropdown und sende eine Nachricht.
Das ist eine vollständige lokale GUI. Nichts verlässt deinen Computer, und die Geschwindigkeit hängt von deiner GPU oder CPU ab.
Eine gehostete OpenAI-kompatible Verbindung hinzufügen
Nun zur Fallback-Lösung. Angenommen, das Modell, das du lokal ausführen kannst, ist für eine lange Szene zu klein oder deine GPU ist beim Rendern ausgelastet. Du kannst eine zweite Verbindung zur gleichen GUI hinzufügen. Dafür benötigst du einen API-Schlüssel, den du auf der API-Schlüssel-Seite nach der Anmeldung mit Google oder mit E-Mail und Passwort anfordern kannst. Ein einmaliges Testguthaben in Höhe von $0,50 steht mit einem Klick zur Verfügung, erfordert keine Zahlung und gilt 7 Tage lang.
Füge in Open WebUI eine OpenAI-Verbindung mit diesen Werten hinzu:
- Basis-URL:
https://api.ollamansfw.com/v1 - API-Schlüssel: dein Schlüssel, gesendet als
Authorization: Bearer - Modell:
uncensored
Wenn du beim Starten des Containers Umgebungsvariablen bevorzugst, dokumentiert Open WebUI OPENAI_API_BASE_URL und OPENAI_API_KEY für diesen Zweck:
docker run -d -p 3000:8080 \
-e OPENAI_API_BASE_URL=https://api.ollamansfw.com/v1 \
-e OPENAI_API_KEY=YOUR_KEY \
-v open-webui:/app/backend/data \
--name open-webui ghcr.io/open-webui/open-webui:main
# model to pick in the UI: uncensored
Nach einem Neuladen sollte uncensored in der Modell-Ausklappliste neben deinen lokalen Modellen erscheinen. Die Frontend-Anwendung findet es über GET /v1/models. Du kannst nun zwischen einem lokalen Modell und dem gehosteten Modell innerhalb derselben Gesprächsliste wechseln.
Den Endpunkt zuerst außerhalb der GUI testen
Wenn eine GUI einen vagen Fehler anzeigt, ist der schnellste Weg, um festzustellen, ob das Problem der Schlüssel oder die Schnittstelle ist, ein direkter Aufruf. Hier ist eine Streaming-Anfrage mit curl:
curl -N https://api.ollamansfw.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"stream": true,
"messages": [{"role": "user", "content": "Write two sentences about a lighthouse keeper."}]
}'
Du solltest eine Reihe von data:-Zeilen sehen, die mit Nutzungsinformationen enden. Wenn das funktioniert, sind der Schlüssel und die URL in Ordnung und das Problem liegt in der Frontend-Anwendung. Die Fehlerbehebungsseite behandelt typische Fehler wie ein fehlendes /v1 oder ein Leerzeichen am Ende des Schlüssels.
Die gleichen Client-Einstellungen, die du für lokale Modelle verwendest, werden größtenteils übernommen. Temperatur, top_p, Stop-Sequenzen, Seed und die Strafen werden an das Modell weitergegeben.
Den gehosteten Endpunkt im eigenen Code verwenden
Eine GUI ist ein Client. Skripte und kleine Apps sind ein anderer, und der gehostete Endpunkt funktioniert mit den Standard-OpenAI-SDKs. Function Calling und JSON-Modus werden unterstützt, was wichtig ist, wenn deine GUI oder dein Agent sie verwendet.
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": "Reply with a JSON object with keys title and summary."},
{"role": "user", "content": "A short story about a lighthouse keeper."},
],
)
print(resp.choices[0].message.content)
In Node ist das Muster identisch:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ollamansfw.com/v1",
apiKey: process.env.API_KEY,
});
const stream = await client.chat.completions.create({
model: "uncensored",
stream: true,
messages: [{ role: "user", content: "Name three sailing knots." }],
});
for await (const part of stream) {
process.stdout.write(part.choices[0]?.delta?.content ?? "");
}
Die Schnellstartanleitung enthält weitere Beispiele, darunter Tool-Aufrufe mit tool_choice.
Häufige Probleme und Lösungen
Die meisten Fehler bei der GUI-Einrichtung stammen aus einer kurzen Liste von Ursachen.
- Leere Modellliste für die lokale Verbindung. Die Frontend-Anwendung kann Ollama nicht erreichen. Überprüfe die Adresse und bedenke, dass eine containerisierte GUI deinen Host nicht als
localhostsieht. - 401 vom gehosteten Endpunkt. Der Schlüssel fehlt oder ist falsch. Füge ihn erneut ein ohne Leerzeichen, und stelle sicher, dass die GUI ihn als Bearer-Token sendet.
- 404 bei jeder Anfrage. Die Base URL enthält wahrscheinlich nicht
/v1oder enthält es zweimal. - Antworten bleiben aus oder die UI hängt. Einige Frontend-Anwendungen puffern gestreamte Ausgaben über einen Proxy. Versuche den direkten curl-Test oben, und wenn er streamt, überprüfe die Proxy-Einstellungen vor deiner GUI.
- Langsame lokale Antworten. Das Modell ist zu groß für deinen VRAM und wird in den Systemspeicher ausgelagert. Wähle eine kleinere Quantisierung oder wechsle diesen Chat zur gehosteten Verbindung.
Behalte eine Regel im Kopf für Fiktion- und Begleiter-Apps für Erwachsene: Das gehostete Modell antwortet ohne Inhaltsablehnungen für die legale Nutzung durch Erwachsene, aber sexueller Inhalt, der Minderjährige betrifft, ist niemals erlaubt, und der Dienst setzt das als harte Grenze durch.
Zu beachtende Limits und Kosten in einer GUI
Frontend-Anwendungen können mehrere Anfragen gleichzeitig auslösen, zum Beispiel wenn sie im Hintergrund einen Chat-Titel generieren, während die Hauptantwort gestreamt wird. Ein voller Schlüssel erlaubt 8 gleichzeitige Anfragen und 300 Anfragen pro Minute. Ein Test-Schlüssel erlaubt 2 gleichzeitige und 60 pro Minute. Eine gestreamte Anfrage belegt ihren Slot, bis der Stream endet. Wenn du ein Limit überschreitest, erhältst du HTTP 429 mit dem Code rate_limited oder concurrency, und bei temporärer Überlastung eine 429 mit Retry-After: 5. Das Deaktivieren der Hintergrund-Titelgenerierung in der GUI ist eine einfache Lösung für einen Test-Schlüssel.
Die Kosten sind pro Token: $0,15 pro 1 Mio. Input und $0,50 pro 1 Mio. Output. Ein Chat-Durchgang mit 2.000 Token Verlauf und einer 500-Token-Antwort kostet $0,0003 plus $0,00025, was $0,00055 entspricht. Die Antwort-Header enthalten X-Balance-USD, sodass du beobachten kannst, wie dein Guthaben schwindet. Details zu Aufladungen findest du auf der Preisseite. Diese Seite akzeptiert nur Krypto: USDT auf TRC20 oder USDC auf Base, jeder ganze Betrag von $20 bis $500.
Das Kontextfenster umfasst 100.000 Token, daher werden sehr lange Chats pro Durchgang mehr kosten, da der gesamte Verlauf jedes Mal gesendet wird. Die meisten GUIs haben eine Einstellung, um alte Nachrichten zu kürzen oder zusammenzufassen.
Weitere Anleitungen
Fragen und Antworten
Hat Ollama eine eigene grafische Oberfläche?
Ollama ist hauptsächlich ein Server und ein Kommandozeilen-Tool. Chat-Fenster stammen von separaten Projekten wie Open WebUI oder Desktop-Clients, die du damit verbindest.
Kann eine GUI ein lokales Modell und ein gehostetes Modell verwenden?
Ja, wenn das Frontend mehrere Verbindungen unterstützt. Füge Ollama als eine und eine OpenAI-kompatible URL als andere hinzu, und wähle dann das Modell pro Chat aus.
Warum zeigt meine GUI keine Modelle für den gehosteten Endpunkt an?
Stelle sicher, dass die Basis-URL auf /v1 endet, der Schlüssel keine Fremdleerzeichen enthält und die GUI GET /v1/models aufrufen darf. Wenn es immer noch fehlschlägt, gib die Modell-ID uncensored manuell ein.
Was mache ich, wenn ich HTTP 429 erhalte?
Du hast das Ratenlimit oder das Concurrency-Limit erreicht. Reduziere parallele Anfragen, warte die Anzahl der Sekunden in Retry-After und versuche es erneut.