Portkey AI Gateway: Routing, Retries und Guardrails über eine OpenAI-kompatible Schnittstelle
A blazing fast AI Gateway with integrated guardrails. Route to 1,600+ LLMs, 50+ AI Guardrails with 1 fast & friendly API.
Auf einen Blick
- Was ist das?
- Der Gateway bündelt Provider-Zugänge, Fallbacks und Ausgabefilter hinter einem einzigen Endpunkt, der wie die OpenAI-API aussieht. Wer viele Modelle parallel betreibt, spart Integrationsarbeit; wer nur einen Anbieter nutzt, baut sich eine zusätzliche Schicht ein.
- Für wen ist es gedacht?
- Sinnvoll ist der Gateway für Teams, die mehrere Provider parallel betreiben und Retry-, Fallback- und Guardrail-Logik nicht in jeder Anwendung neu implementieren wollen; wer nur ein Modell eines einzigen Anbieters aufruft, trägt mit dem Gateway eine zusätzliche Netzwerk- und Betriebsschicht ohne Gegenwert.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 113 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Welche Arbeit der Gateway abnimmt
Sobald eine Anwendung mehr als einen Modellanbieter anspricht, entstehen dieselben Aufgaben immer wieder: Schlüsselverwaltung, unterschiedliche Endpunktformate, Wiederholversuche bei 429- und 5xx-Antworten, Ausweichrouten bei Anbieterausfällen und Prüfungen auf unerwünschte Modellausgaben. Der Gateway zieht diese Aufgaben aus dem Anwendungscode in eine eigene Schicht. Das Repository beschreibt die Zielgruppe selbst als Teams, die schnell und zuverlässig an Sprach-, Bild-, Audio- und Bildmodelle routen wollen, und nennt als Einstiegshürde eine Integration in unter zwei Minuten. Der Aufruf bleibt dabei im Format der OpenAI-Chat-Completions, sodass bestehende SDK-Aufrufe weitgehend unverändert bleiben. Der Nutzen skaliert mit der Zahl der Anbieter: Bei einem einzigen Provider ist die Zwischenschicht reiner Zusatzaufwand, bei fünf Providern mit unterschiedlichen Ausfallzeiten ersetzt sie Code, den sonst jedes Team selbst schreibt und pflegt.
Config als zentrales Steuerobjekt
Das tragende Konzept im Repository ist die Config. Sie ist ein JSON-Objekt, das an den Client gehängt wird, und enthält Routing-Regeln, Zuverlässigkeitsparameter und Guardrails. Das README zeigt ein Beispiel mit zwei Schlüsseln: retry mit dem Feld attempts, hier auf 5 gesetzt, und output_guardrails als Liste von Regelobjekten. Jede Regel benennt eine Prüfung, im Beispiel default.contains mit operator none und einer Wortliste, sowie die Aktion deny. Die Prüfung läuft nach der Modellantwort: Enthält die Ausgabe eines der gelisteten Wörter, wird sie verworfen und der Aufruf gemäß retry-Konfiguration wiederholt. Das erklärt auch die im README beschriebene Beobachtung, dass eine Anfrage, die zufällig zwischen zwei Wörtern wählen soll, immer dasselbe Ergebnis liefert, sobald eines der beiden Wörter gesperrt ist. Die Config ist damit nicht nur Routing-Konfiguration, sondern verändert das beobachtbare Antwortverhalten der Anwendung, was bei der Fehlersuche wichtig ist.
Inbetriebnahme in zwei Schritten
Der Schnellstart besteht aus einem einzigen Befehl: npx @portkey-ai/gateway, vorausgesetzt Node.js und npm sind vorhanden. Danach lauscht der Gateway laut README auf http://localhost:8787/v1, die mitgelieferte Konsole auf http://localhost:8787/public/. Der erste Aufruf erfolgt über den Python-Client portkey-ai, der mit provider und Authorization initialisiert wird, wobei provider einen Anbieternamen wie openai, anthropic, bedrock oder groq annimmt und Authorization den Schlüssel des Anbieters trägt. Anschließend läuft der gewohnte Aufruf client.chat.completions.create mit messages und model. Die Config wird über client.with_options(config=config) angehängt. Für abweichende Umgebungen verweist das Repository auf eine Installationsdokumentation mit Abschnitten zu Docker, Node.js-Server, Cloudflare Workers und Replit sowie auf eine EC2-Schnellstartvorlage. Der lokale Start über npx ist der kürzeste Weg, um zu prüfen, ob die eigenen Anbieter und Modelle überhaupt durchgereicht werden.
Was die Konsolenansicht leistet und was nicht
Nach dem lokalen Start zeigt die Gateway Console unter /public/ die Anfragen und Antworten des eigenen Rechners an einer Stelle. Für die Entwicklung ist das praktisch, weil Routing-Entscheidungen und Guardrail-Treffer sichtbar werden, ohne dass eine eigene Protokollierung gebaut werden muss. Das README beschreibt die Konsole ausdrücklich als lokale Logansicht. Wer verteilte Dienste betreibt, mehrere Instanzen hinter einem Load Balancer laufen lässt oder Protokolle zentral aufbewahren muss, findet dazu im vorliegenden Material keine Aussage. Ebenso bleibt offen, wie sich Logs exportieren oder filtern lassen. Diese Lücke ist relevant, weil ein Gateway genau an der Stelle sitzt, an der Fehlerdiagnose stattfindet: Wenn eine Anfrage wegen eines Guardrails verworfen wird, muss nachvollziehbar sein, welche Regel gegriffen hat. Ob die Konsole das über den lokalen Einzelfall hinaus leistet, lässt sich aus dem Repository-Auszug nicht beantworten.
Grenzen und Fälle, in denen der Gateway schadet
Die Guardrails im gezeigten Beispiel arbeiten auf Wortlisten. default.contains prüft, ob bestimmte Zeichenketten in der Ausgabe vorkommen, und lehnt bei Treffer ab. Das ist deterministisch und billig, aber es erkennt keine Umschreibungen, keine anderen Schreibweisen und keine inhaltlichen Verstöße, die ohne die gelisteten Wörter auskommen. Wer inhaltliche Moderation braucht, kommt mit dieser Regelform nicht weit. Ein zweiter Punkt betrifft die Zuverlässigkeit: Ein Retry mit attempts 5 wiederholt denselben Aufruf, und wenn die Ablehnung durch einen Guardrail ausgelöst wurde, wiederholt er auch die Ablehnung. Das kostet Anbieterkontingent, ohne die Erfolgswahrscheinlichkeit zu erhöhen. Drittens ist der Gateway eine zusätzliche Station im Pfad jeder Anfrage. Das README nennt eine Latenz unter einer Millisekunde und eine Paketgröße von 122 kb, doch diese Angaben stammen aus der Projektbeschreibung und wurden hier nicht nachgemessen. Wer eine einzelne Anwendung mit einem einzigen Modell betreibt, gewinnt durch die Zwischenschicht nichts und übernimmt einen weiteren Dienst, der ausfallen kann.
Version 2.0 und die Frage der Pflegelinie
Das Repository trägt oben einen Hinweis, der für die Bewertung wichtiger ist als jede Funktionsliste: Der unternehmenseigene Kern-Gateway von Portkey wird mit Version 2.0 in das Open-Source-Projekt überführt, eine Vorabversion liegt im Branch 2.0.0. Die letzten veröffentlichten Versionen sind 1.15.2 vom 12. Januar 2026, davor 1.15.1 und 1.15.0 im Dezember 2025. Für Anwender bedeutet das eine Abwägung: Die 1.15.x-Linie ist die stabil veröffentlichte, aber ihr Verhältnis zur kommenden 2.0-Linie ist offen. Wer heute auf 1.15.x aufsetzt, muss einschätzen, ob Konfigurationsformate und Verhalten beim Wechsel erhalten bleiben. Wer direkt die Vorabversion nutzt, tauscht Planungssicherheit gegen frühen Zugriff auf den Unternehmensumfang. Das Repository beantwortet diese Frage nicht, und die Entscheidung lässt sich nicht aus der Beschreibung ableiten. Sie sollte vor der Übernahme geklärt werden, nicht danach.
Lizenz und Betriebsaufwand
Das Projekt steht unter der MIT-Lizenz, was die Nutzung, Veränderung und Weitergabe mit wenigen Bedingungen erlaubt. Für die meisten Teams ist das die unkomplizierte Seite; genaue Pflichten zur Beibehaltung des Lizenzhinweises gehören dennoch zur eigenen Prüfung, nicht in eine Projektbeschreibung. Der Betriebsaufwand hängt am Deployment-Modell: Der npx-Start ist ein Prozess auf dem Entwicklungsrechner, Docker, Node.js-Server und Cloudflare Workers sind dauerhaft zu betreibende Varianten mit jeweils eigener Konfiguration. Dazu kommt die Pflege der Configs selbst. Jede Regel für Retries, Routing und Guardrails ist Code, der bei Modellwechseln und neuen Anbietern angepasst werden muss. Das ist bei einer zentralen Config überschaubarer als in fünf Anwendungen, aber es ist Arbeit, die eingeplant werden sollte. Ob und in welchem Umfang für den gehosteten Betrieb Kosten anfallen, lässt sich aus dem Repository-Auszug nicht entnehmen.
Abgrenzung zu LiteLLM
LiteLLM ist ein verbreitetes Proxy-Projekt im selben Feld und verfolgt einen anderen Schwerpunkt. Dort steht die Vereinheitlichung der Anbieter-SDKs im Vordergrund: ein Python-Paket, das Aufrufe an viele Anbieter in ein gemeinsames Format übersetzt, ergänzt um einen Proxy-Modus mit Budgets und Schlüsselverwaltung. Der Portkey Gateway setzt dagegen auf eine schon vorhandene OpenAI-kompatible Oberfläche und legt den Schwerpunkt auf Config-getriebenes Routing mit Guardrails direkt im Aufrufpfad. Der praktische Unterschied zeigt sich in der Erweiterung: Beim Portkey-Ansatz werden Regeln als JSON an den Client gehängt, ohne die Anwendung neu zu deployen, während bei LiteLLM Konfiguration und Modellliste stärker am Proxy selbst hängen. Wer bereits eine OpenAI-kompatible Clientbibliothek nutzt und nur Retries, Fallbacks und Ausgabefilter ergänzen will, kommt mit dem Portkey-Modell schneller zum Ziel. Wer breite Anbieterabdeckung aus Python-Code heraus ohne zusätzlichen Dienst braucht, fährt mit LiteLLM direkter.
Redaktionelles Fazit
Sinnvoll ist der Gateway für Teams, die mehrere Provider parallel betreiben und Retry-, Fallback- und Guardrail-Logik nicht in jeder Anwendung neu implementieren wollen; wer nur ein Modell eines einzigen Anbieters aufruft, trägt mit dem Gateway eine zusätzliche Netzwerk- und Betriebsschicht ohne Gegenwert. Vor der Übernahme ist zu klären, ob die 2.0-Vorabversion den eigenen Funktionsumfang bereits abdeckt, ob die 1.15.x-Linie bis dahin weiter gepflegt wird, ob die Guardrail-Semantik von default.contains für die eigenen Inhalte ausreicht und ob die MIT-Lizenz des Repositories für den geplanten Einsatz genügt.
Community-Notizen