Wichtige Punkte
- Lokale Ausführungen benötigen ausreichend RAM oder VRAM für die quantisierte Datei plus das Kontextfenster.
- Ollama ist der schnellste Einstieg; llama.cpp bietet mehr Kontrolle über Quantisierung und Flags.
- Beide stellen einen OpenAI-ähnlichen Server bereit, sodass derselbe Client-Code auf lokale oder gehostete Endpunkte zeigen kann.
- Ein gehosteter Endpunkt kostet $0,15 pro 1 Mio. Input-Token und $0,50 pro 1 Mio. Output-Token und ist in Minuten eingerichtet.
Entscheide zuerst: Welche Hardware hast du?
Der Speicher entscheidet über alles. Ein Sprachmodell ist ein sehr großer Satz von Zahlen, und der gesamte Satz muss im schnellen Speicher liegen, während er generiert wird. Quantisierung verkleinert diese Zahlen. Ein 4-bit-quantisiertes Modell belegt etwa ein halbes Byte pro Parameter, sodass ein Modell mit 8 Milliarden Parametern bei etwa 5 GB landet und eines mit 70 Milliarden bei etwa 40 GB. Betrachte diese Werte als grobe Richtwerte, da die genaue Größe vom Quantisierungsformat abhängt.
Zusätzlich zu den Gewichten benötigst du Speicher für den Kontextcache. Er wächst mit der Prompt-Länge, sodass eine lange Roleplay-Historie oder ein großes Dokument mehr Speicher benötigt als eine kurze Frage. Plane bei moderatem Kontext ein paar zusätzliche Gigabyte ein, mehr, wenn du lange Prompts verwendest.
- 8-GB-Laptop ohne GPU: nur kleine Modelle, langsame Ausgabe.
- 16 bis 32 GB Apple-Silicon-Mac: Modelle mittlerer Größe laufen gut, weil CPU und GPU den Speicher teilen.
- Einzelne Consumer-GPU mit 12 bis 24 GB VRAM: Modelle mittlerer Größe mit guter Geschwindigkeit.
- Alles, was größer ist: mehrere GPUs oder ein gemieteter Server.
Methode 1: Ollama in wenigen Befehlen
Ollama ist der kürzeste Weg. Es lädt ein quantisiertes Modell herunter, startet einen Hintergrundserver und bietet dir einen Chat-Prompt an. Installiere es von der offiziellen Website für dein Betriebssystem und prüfe dann, welche Dolphin-Tags die Ollama-Modellbibliothek aktuell auflistet, da sich Namen und Größen zwischen den Releases ändern.
# replace <tag> with a Dolphin tag from the Ollama library
ollama pull <tag>
ollama run <tag>
Der erste Befehl lädt die Datei herunter, was bei einer langsamen Verbindung eine Weile dauern kann. Der zweite öffnet einen interaktiven Chat im Terminal. Ollama stellt auch eine HTTP-API auf deinem Rechner bereit, einschließlich einer OpenAI-ähnlichen Route unter /v1, sodass andere Programme sie nutzen können.
Wenn die Generierung sehr langsam ist, passte das Modell wahrscheinlich nicht in den VRAM und ein Teil läuft auf der CPU. Wähle ein kleineres Tag oder eine Quantisierung mit niedrigeren Bit-Werten.
Methode 2: llama.cpp für mehr Kontrolle
llama.cpp ist die C++-Engine, auf der viele andere Tools aufbauen. Du lädst eine GGUF-Datei des Modells herunter und startest dann dessen Server. Dies erfordert mehr Schritte als Ollama, ermöglicht dir aber, die Kontextlänge, die Anzahl der auf der GPU platzierten Schichten und die gewünschte Quantisierung festzulegen.
# after building llama.cpp and downloading a GGUF file
llama-server -m ./model.gguf -c 8192 -ngl 99 --port 8080
Hier setzt -c die Kontextlänge, -ngl legt fest, wie viele Schichten auf die GPU gehen, und --port wählt den Port. Prüfe die README des Projekts für die Flags in deiner Version, da sie sich weiterentwickeln. Ein größeres -c verbraucht mehr Speicher, also erhöhe es nur, wenn du es benötigst.
Für die grafische Nutzung können Frontends wie Open WebUI mit beiden Servern kommunizieren. Unser Hinweis zu Open WebUI API-Endpunkten zeigt, wie du einen benutzerdefinierten Endpunkt hinzufügst.
Deinen lokalen Server aus Code aufrufen
Beide Tools können das OpenAI-Chat-Format sprechen, sodass du den Client einmal schreibst und das Ziel mit zwei Einstellungen wechselst. Dieses Skript hält beide Ziele nebeneinander. Das lokale verwendet den Port, den Ollama standardmäßig nutzt; ändere ihn, wenn du llama.cpp auf 8080 gestartet hast.
from openai import OpenAI
TARGETS = {
"local": {"base_url": "http://localhost:11434/v1", "key": "not-needed", "model": "your-local-tag"},
"hosted": {"base_url": "https://api.dolphinllm.com/v1", "key": "YOUR_KEY", "model": "uncensored"},
}
t = TARGETS["hosted"]
client = OpenAI(base_url=t["base_url"], api_key=t["key"])
resp = client.chat.completions.create(
model=t["model"],
messages=[{"role": "user", "content": "Summarize what a GGUF file is."}],
)
print(resp.choices[0].message.content)
Lokale Server ignorieren normalerweise den Schlüssel, aber das SDK erfordert eine nicht-leere Zeichenkette. Der Modellname für einen lokalen Server ist das Tag oder Alias, das du geladen hast, während die Modell-ID für den gehosteten Dienst immer uncensored ist.
Methode 3: Einrichtung überspringen und einen gehosteten Endpunkt nutzen
Wenn die Hardware-Mathematik schlecht aussieht oder du auf jedem Gerät das gleiche Verhalten möchtest, ist ein gehosteter Endpunkt einfacher. Dieser Dienst bietet ein Open-Weight-Modell an, das von einem unabhängigen Anbieter betrieben wird und darauf abgestimmt ist, bei der rechtmäßigen Nutzung für Erwachsene ohne Inhaltsverweigerungen zu antworten. Es ist nicht die offizielle API eines Modell-Anbieters und lässt dich nicht andere Modelle auswählen. Was du erhältst, ist eine stabile URL, ein Schlüssel und die Abrechnung pro Token.
Die Schritte sind kurz. Melde dich mit Google oder mit E-Mail und Passwort an, öffne die API-Schlüssel-Seite und beanspruche das $0,50 kostenlose Testguthaben mit einem Klick. Es benötigt keine Karte, ist 7 Tage gültig und ist auf eine Person beschränkt. Führe dann das Python-Skript oben mit dem gehosteten Ziel aus. Wenn du curl bevorzugst:
curl https://api.dolphinllm.com/v1/chat/completions -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" -d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}],"stream":false}'
Das Kontextfenster umfasst 100.000 Token, was mehr ist, als die meisten Laptops bequem im Cache halten können. Prompts werden nicht zum Training verwendet.
Kosten und Aufwand im Vergleich
Lokal fühlt sich kostenlos an, aber es ist es nicht. Du zahlst für Hardware, Strom und deine eigene Zeit. Gehostete Dienste kosten Geld pro Anfrage, aber die Beträge sind gering. Bei $0,15 pro 1 Mio. Input-Token und $0,50 pro 1 Mio. Output-Token kostet eine Chat-Nachricht mit 3.000 Input-Token und 700 Output-Token:
- Input: 3.000 x $0,15 / 1.000.000 = $0,00045
- Ausgabe: 700 x $0,50 / 1.000.000 = $0,00035
- Gesamt: $0,0008 pro Nachricht, also $0,80 pro 1.000 Nachrichten
Selbst ein intensiver Nutzer, der 5.000 solcher Nachrichten im Monat sendet, gibt etwa $4 aus. Eine GPU, die Hunderte von Dollar kostet, müsste Jahre lang genutzt werden, um sich bei diesem Volumen zu amortisieren. Das Verhältnis kehrt sich um, wenn du ein kontinuierliches hohes Volumen hast, ein spezifisches Fine-Tuning benötigst oder Daten nicht von deiner Maschine senden möchtest.
Vollständige Preisdetails, einschließlich der Top-up-Boni von +5 %, +10 % und +15 %, findest du auf der Preisseite, und die Dokumentation behandelt Limits und Parameter.
Eine einfache Regel zur Auswahl
Führe lokal aus, wenn du mit vielen Fine-Tunings experimentieren, offline arbeiten oder jeden Prompt auf deiner eigenen Festplatte behalten möchtest. Nutze den gehosteten Endpunkt, wenn du etwas baust, das andere nutzen werden, wenn deine Hardware bescheiden ist oder wenn du ein langes Kontextfenster mit 100.000 Token möchtest, ohne den Speicher verwalten zu müssen. Viele Entwickler nutzen beides: ein lokales Modell zum privaten Basteln und einen gehosteten Endpunkt für alles, was stabil laufen muss. Da der Client-Code derselbe ist, kostet das Wechseln nur eine Zeile.

