MIGRATIONSLEITFADEN

Von direkten API-Aufrufen zu einem gesteuerten Endpunkt

Die meisten Teams beginnen damit, OpenAI oder Anthropic direkt aus ihren Anwendungen aufzurufen, mit einem Anbieter-Key in der Umgebung jedes Services. Das ist der richtige Start. Dieser Leitfaden ist für den Punkt, an dem das nicht mehr reicht: Sie stellen eine Anwendung nach der anderen auf Wäg um, ohne sie neu zu schreiben, und jeder Schritt lässt sich mit einer zurückgesetzten Zeile rückgängig machen.

Was sich ändert

  • Die Base-URL, an die jede Anwendung ihre Anfragen sendet
  • Der Key, den sie sendet: ein Gateway-Key pro Anwendung statt des Anbieter-Keys
  • Wo die Anbieter-Keys liegen: in Wäg, nicht in jedem Service

Was nicht

  • Ihr SDK — openai, langchain, llamaindex und der Rest
  • Ihre Prompts, Anfrageformate und die Verarbeitung der Antworten
  • Streaming, Tool-Calling, Vision und strukturierte Ausgaben
  • Die Modellnamen, die Ihr Code bereits verwendet
  • Ihre Anbieterkonten und -verträge

Nicht sicher, ob Sie schon ein Gateway brauchen? Hier steht, was eines tut und wann der direkte Aufruf beim Anbieter trotzdem die bessere Wahl bleibt: Was ist ein AI Gateway?

DER WEG

Fünf Schritte, eine Anwendung nach der anderen

1 · Wäg starten und Ihre Anbieter eintragen

Hinterlegen Sie für jeden Anbieter Ihr bestehendes Konto und benennen Sie die Aliase nach den Modellnamen, die Ihr Code ohnehin sendet. Dann muss kein Modellverweis in keiner Anwendung geändert werden.

# waeg.yaml — aliases named after the models your code already asks for
providers:
  openai:
    provider: openai
    api_key_env: OPENAI_API_KEY
  anthropic:
    provider: anthropic
    api_key_env: ANTHROPIC_API_KEY

models:
  - name: gpt-4o
    deployments:
      - provider: openai
        model_id: gpt-4o

  - name: claude-haiku-4-5
    deployments:
      - provider: anthropic
        model_id: claude-haiku-4-5

Keys werden aus der Umgebung oder Ihrem Vault aufgelöst und nie in die Datei geschrieben.

2 · Pro Anwendung einen Gateway-Key ausstellen

Jede Anwendung erhält statt des Anbieter-Keys einen eigenen virtuellen Key. Das macht Kosten pro Anwendung, Limits pro Team und den Widerruf eines einzelnen Services möglich — nichts davon kann ein gemeinsamer Anbieter-Key.

3 · Base-URL und Key ändern

Wäg bedient die OpenAI-kompatible Oberfläche — Chat Completions, die Responses API (zustandslos), Embeddings, Bilder, Audio, Video, OCR, Moderations, Rerank, Dateien, Batches, Realtime und Modelle — mit echtem SSE-Streaming, dazu /v1/mcp und /v1/a2a für Agenten. In der Anwendung ändern sich zwei Zeilen:

  client = OpenAI(
-     api_key=os.environ["OPENAI_API_KEY"],
+     base_url=os.environ["WAEG_BASE_URL"],   # e.g. https://waeg.internal/v1
+     api_key=os.environ["WAEG_KEY"],         # this application's gateway key
  )

Anwendungen auf Basis der eigenen SDKs von Anthropic oder Gemini werden ebenfalls unterstützt: /v1/messages und /v1beta von Gemini sind erstklassige Anfrageformate, nicht nur Übersetzungen des OpenAI-Formats.

4 · Prüfen, dann die nächste Anwendung

Senden Sie je eine normale, eine Streaming- und eine Tool-Calling-Anfrage und lesen Sie die Antwort-Header: x-waeg-routed-model nennt das Modell, das geantwortet hat, x-waeg-route-reason den Grund (bei intelligentem Routing), x-waeg-cache, ob ein Cache geantwortet hat. Die Anfrage steht bereits mit Tokens und Kosten in der Konsole.

Eine sinnvolle Reihenfolge: zuerst interne Werkzeuge, dann Batch- und Offline-Workloads, dann ein Produktivservice, dann der Rest.

5 · Die Anbieter-Keys aus den Anwendungen entfernen

Läuft jede Anwendung über Wäg, rotieren Sie die Anbieter-Keys und löschen sie aus Anwendungsumgebungen, CI-Secrets und Konfigurationsdateien. Danach hält sie nur noch Wäg — das ist der Großteil des Sicherheitsgewinns und der Schritt, den Teams am häufigsten vergessen.

So rollen Sie zurück

Stellen Sie Base-URL und Key zurück. Wäg hält keinen Zustand, von dem Ihre Anwendungen abhängen, daher ist das bis Schritt 5 der gesamte Vorgang. Machen Sie Schritt 5 zuletzt, wenn Sie sicher sind — danach heißt Zurückrollen, den Anwendungen wieder Anbieter-Keys auszustellen.

DANACH

Was Sie gewonnen haben

  • Kosten pro Anwendung, Team und Nutzer, so wie sie entstehen — nicht aus einer Rechnung rekonstruiert.
  • Budgets, die Ausgaben stoppen, bevor der Anbieter aufgerufen wird, statt Dashboards, die hinterher rot werden.
  • Failover auf einen anderen Anbieter oder ein anderes Modell, wenn eines ausfällt.
  • Datenregeln — maskieren, schwärzen, blockieren — für jeden Prompt, auch in Anwendungen, die niemand angefasst hat.
  • Ein Nachweis zu jeder Anfrage: wer, welches Modell, warum, was sie gekostet hat, welche Regeln galten.
  • Modelle, die per Konfiguration hinzugefügt oder getauscht werden, ohne Deployment jeder Anwendung.
DER EHRLICHE TEIL

Was es Sie kostet

  • Ein weiterer Service im Betrieb. Der Embedded-Modus braucht nichts Externes, ist aber Single-Node und speicherbasiert, für Tests; Produktion läuft auf Postgres und OpenFGA, dazu Redis, sobald es mehrere Replicas gibt.
  • Ein weiterer Netzwerk-Hop. Einige Millisekunden gegenüber Modellaufrufen von Hunderten Millisekunden bis Sekunden — und Cache-Treffer kommen schneller zurück als jeder Anbieter.
  • Jemand muss es verantworten. Meist das Plattformteam, also dieselben Leute, die Ihre übrige gemeinsame Infrastruktur betreuen.
FAQ

Häufige Fragen

Muss ich Anwendungscode ändern?

Zwei Zeilen pro Anwendung: Base-URL und Key. Lesen Ihre Anwendungen beides aus der Umgebung, nicht einmal das — dann ändern Sie die Umgebung.

Können wir nur eine Anwendung umstellen?

Ja. Anwendungen, die weiter direkt beim Anbieter anfragen, funktionieren weiter. Eine nach der anderen umzustellen ist der empfohlene Weg.

Funktionieren Streaming und Tool-Calling weiter?

Ja. Streaming sind echte Server-Sent Events, und Tool-Calling, Vision und strukturierte Ausgaben bleiben über OpenAI-, Anthropic- und Gemini-Anfrageformate erhalten.

Gehen unsere Daten an bitkaio?

Nein. Wäg läuft in Ihrer Infrastruktur und spricht nur mit den Anbietern, die Sie konfigurieren. Es gibt keine Telemetrie und kein Nach-Hause-Telefonieren, und die Lizenz ist ein signiertes Offline-Token ohne Lizenzserver.

Was brauchen wir, um es zu betreiben?

Für die erste Anwendung ein Container im Embedded-Modus. Für Produktion Postgres und OpenFGA, dazu Redis, um Budgets und Ratenlimits über Replicas hinweg konsistent zu halten. Ein eigener Kubernetes-Operator oder ein Helm-Chart installiert es; die Datenbanken bleiben Ihre.

Ein Endpunkt. Jedes Modell. Volle Kontrolle.

Mit Open Source starten

Betreiben Sie es in Ihrer eigenen Infrastruktur

Alles, was Sie brauchen, um eine Control Plane produktiv zu betreiben, steht unter Apache-2.0 und bleibt es auch — Routing, HA, Caching, Failover, Budgets, Policy, MCP, Jobs und Observability. Self-hosted, ohne Account, ohne Phone-Home.

$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>

Kein funktionierender Pull: Die Images sind noch nicht öffentlich. Designpartner erhalten die Registry-Details vertraulich.

In 5 Minuten deployen
Designpartnerschaft

Als Design-Partner mitgestalten

Wäg ist noch nicht öffentlich verfügbar. Wir arbeiten mit einer kleinen Gruppe von Teams, die Multi-Provider-KI produktiv betreiben und Governance und Souveränität ernst nehmen, um die Control Plane an echten Workloads zu härten.

  • Jede Enterprise-Funktion enthalten, ohne Lizenzkosten
  • Migration gemeinsam mit uns — auch von LiteLLM
  • Direkter Draht zu den Engineers und realer Einfluss darauf, was als Nächstes kommt
Zum Programm bewerben