DE ▾
API-Schlüssel erhalten

Ollama-API vs. OpenAI-API: Endpunkte und Code

Die Frage nach der Ollama-API im Vergleich zur OpenAI-API reduziert sich auf zwei Anfrageformate und zwei Orte zur Ausführung eines Modells. Ollama hat seine eigene native API und auch eine OpenAI-kompatible Schicht, sodass der Wechsel zu einem gehosteten Endpunkt im OpenAI-Stil nur eine Änderung der Base URL und des Schlüssels bedeuten kann.

Aktualisiert

Desktop-Rechner und Cloud-Server, verbunden über zwei Lichtbrücken, die identische Nachrichtenumschläge transportieren
Chat-Fenster, das über leuchtende Kabel mit einem lokalen Computer und einem Cloud-Server verbunden ist

Keine Karte nötig. Nach der Anmeldung beanspruche mit einem Klick 0,50 $ kostenloses Testguthaben (einmal pro Person).

API-Schlüssel erhalten

Wichtige Punkte

  • Ollama hat native Routen unter /api und eine OpenAI-kompatible Schicht unter /v1; Clients, die für das OpenAI-SDK geschrieben wurden, funktionieren meist mit beiden.
  • Natives Ollama streamt newline-getrenntes JSON, während das OpenAI-Format Server-Sent Events streamt.
  • Der Wechsel von lokal zu gehostet bedeutet, Base URL, Schlüssel und Modellnamen zu ändern, nicht aber deinen Code.
  • Lokal bleiben die Daten auf deinem Rechner; gehostet entfällt die Hardwarearbeit, aber es kommt eine Token-Abrechnung hinzu.

Die Kurzversion

Beide erwarten, dass du eine Liste von Nachrichten per POST sendest und Text zurückbekommst. Der Unterschied liegt in der Struktur der Anfrage, dem Standort des Servers und der Frage, wer die GPU-Kosten trägt. Ollama führt Modelle auf deinem eigenen Computer aus und lauscht auf Port 11434. Die OpenAI-API ist ein gehosteter Dienst mit eigenen kostenpflichtigen Modellen. Im Vergleich Ollama-API vs. OpenAI-API übersehen viele oft eine dritte Sache: Ollama bietet auch OpenAI-kompatible Routen an, sodass sich die beiden Formate überschneiden.

Diese Überschneidung macht die Migration günstig. Wenn deine App bereits das OpenAI SDK nutzt, kannst du es heute auf ein lokales Ollama und morgen auf eine gehostete OpenAI-kompatible URL zeigen. Der Endpunkt auf dieser Website ist einer davon. Er bedient ein einzelnes Modell, uncensored, unter https://api.ollamansfw.com/v1, und ist kein offizielles Produkt von OpenAI, Meta oder einem anderen Anbieter.

Unterschiede von Endpunkt zu Endpunkt

AufgabeOllama nativeOpenAI-kompatibel
ChatPOST /api/chatPOST /v1/chat/completions
Einzelner PromptPOST /api/generatePOST /v1/responses oder Chat-Vervollständigungen
Modelle auflistenGET /api/tagsGET /v1/models
AuthKeine standardmäßigAuthorization: Bearer key
StreamingNewline-delimited JSONServer-Sent Events, endend mit einem Done-Marker
ModellnameWas du heruntergeladen hast, z. B. llama3Was der Anbieter auflistet

Ollama bedient auch /v1/chat/completions und /v1/models am gleichen Port, was es OpenAI-Clients ermöglicht, gegen es zu arbeiten. Seine Standardeinstellung für native Aufrufe ist Streaming, also setze stream: false, wenn du eine einzelne JSON-Antwort möchtest.

Der gehostete Endpunkt implementiert POST /v1/chat/completions, POST /v1/responses und GET /v1/models, plus Guthabenabfragen unter GET /v1/balance. Siehe die API-Dokumentation für die vollständige Liste.

Die gleiche Anfrage, drei Möglichkeiten

Native Ollama aus Python:

import requests

r = requests.post(
    "http://localhost:11434/api/chat",
    json={
        "model": "llama3",
        "messages": [{"role": "user", "content": "Say hello in five words."}],
        "stream": False,
    },
)
print(r.json()["message"]["content"])

Das OpenAI-SDK mit lokalen und gehosteten Einstellungen nebeneinander. Nur die auskommentierte Zeile ändert sich:

from openai import OpenAI

# Local Ollama through its OpenAI-compatible layer:
# client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")

# Hosted endpoint, same code from here on:
client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",   # local would be e.g. "llama3"
    messages=[{"role": "user", "content": "Say hello in five words."}],
)
print(resp.choices[0].message.content)

Und curl gegen den gehosteten Endpunkt mit aktiviertem Streaming:

curl https://api.ollamansfw.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}],"stream":true}'

Das Parsing unterscheidet sich auf der nativen Seite: Jede gestreamte Zeile ist ein JSON-Objekt mit message.content, und die letzte hat done: true. Im OpenAI-Format beginnt jedes Event mit data: , enthält ein choices[0].delta.content Fragment und der Stream endet mit [DONE]. Nutze das SDK und du siehst keines von beiden.

Wo jeder Weg sinnvoll ist

Lokales Ollama ist die richtige Wahl, wenn Privatsphäre die höchste Priorität hat, du eine GPU mit ausreichend Speicher für das gewünschte Modell hast oder du mit vielen Modellen experimentierst. Nichts verlässt deine Maschine und es gibt keine Token-Abrechnung. Kosten zeigen sich in Hardware, Strom und deiner Zeit. Unser Leitfaden zur Nutzung von Ollama mit einer GUI behandelt die benutzerfreundliche Seite dieses Weges.

Ein gehosteter OpenAI-kompatibler Endpunkt passt besser, wenn dir die Hardware fehlt, du viele parallele Anfragen benötigst, einen Bot oder Dienst für andere betreibst oder eine stabile URL möchtest, die nicht davon abhängt, ob dein Laptop wach ist. Ein vollständiger Schlüssel erlaubt 8 gleichzeitige Anfragen und 300 Anfragen pro Minute. Das Kontextfenster umfasst 100.000 Token, was mehr ist, als viele lokale Setups im Speicher halten können.

Viele nutzen beides: lokal für Experimente, gehostet für alles, was stabil laufen muss. Wenn du andere lokale Tools abwägst, lies Ollama-Softwarealternativen.

Migration von lokalem Ollama zu einem gehosteten Endpunkt

  1. Wechsle zuerst zum OpenAI-Format. Wenn dein Code /api/chat aufruft, wechsle ihn zum OpenAI SDK, das auf Ollamas /v1 Route zeigt. Bestätige, dass es lokal noch funktioniert.
  2. Hole einen Schlüssel. Registriere dich und sichere dir das $0,50 Testguthaben auf der API-Schlüssel-Seite. Keine Zahlung erforderlich, gültig für 7 Tage.
  3. Ändere drei Werte. Basis-URL auf https://api.ollamansfw.com/v1, Schlüssel auf deinen, Modell auf uncensored.
  4. Prüfe Parameter. Temperatur, top_p, Stop, Seed und die Strafen werden durchgereicht. Rein lokale Optionen wie Ollamas num_ctx oder keep_alive gelten nicht; das Fenster ist auf 100.000 Token festgelegt.
  5. Füge Retry-Logik hinzu. Die gehostete API gibt 429 mit rate_limited oder concurrency zurück, wenn ein Limit überschritten wird, und 429 mit Retry-After: 5 während einer temporären Überlastung. Lokale Server tun das selten, daher behandelt bestehender Code das möglicherweise nicht.

Falls nach dem Wechsel etwas fehlschlägt, behandelt der Artikel zu häufigen Ollama-API-Fehlern häufige Ursachen wie falsche Ports oder fehlende Modellnamen.

Was die gehostete Lösung kostet und was sie nicht kann

Abrechnung: Pay as you go vom Prepaid-Guthaben: $0,15 pro 1M Input-Token und $0,50 pro 1M Output-Token. Ein Chat-Turn mit 1.000 Input- und 400 Output-Token kostet $0,00015 + $0,0002 = $0,00035, also decken $20 etwa 57.000 solcher Turns ab. Fehlgeschlagene oder abgelehnte Anfragen werden nicht berechnet, Guthaben verfällt nie. Aufladungen von $20 bis $500 mit Boni: +5% ab $50, +10% ab $100 und +15% ab $200. Nur Krypto-Zahlung (USDT auf TRC20 oder USDC auf Base). Mehr auf der Preisseite.

Zu beachtende Limits: Nur Text, also keine Embeddings, Bildgenerierung oder Feinabstimmung. Wenn du auf lokale Embeddings angewiesen bist, behalte diese lokal. Das Modell ist darauf trainiert, ohne Inhaltsfilter für die rechtmäßige Nutzung durch Erwachsene zu antworten. Sexuelle Inhalte mit Minderjährigen sind niemals erlaubt. Prompts werden nicht zum Training verwendet.

Fragen und Antworten

Ist die Ollama-API mit der OpenAI-API kompatibel?

Teilweise. Ollama hat native Routen unter /api und bietet auch OpenAI-ähnliche Routen wie /v1/chat/completions an, sodass OpenAI-SDK-Clients damit sprechen können.

Was muss ich ändern, um von lokalem Ollama zu einem gehosteten Endpunkt zu wechseln?

Die Base URL, den API-Schlüssel und den Modellnamen. Wenn dein Code bereits das OpenAI-SDK verwendet, muss sich nichts weiter ändern.

Unterstützt die gehostete API Embeddings wie Ollama?

Nein. Es ist nur Textgenerierung: Chat-Vervollständigungen und Antworten, ohne Embeddings, Bilder oder Fine-Tuning.

Ist Ollama kostenlos?

Die Software ist kostenlos zum Herunterladen und Ausführen. Du zahlst trotzdem für Hardware und Strom, während eine gehostete API pro Token abrechnet.