Skip to main content
GoModel lässt sich vor das OpenAI Agents SDK schalten, wenn Sie Gateway-Keys, Budgets, Audit-Logs, Modell-Routing und Nutzungserfassung rund um Agent-Ausführungen nutzen möchten. Ablauf: OpenAI Agents SDK -> GoModel /v1 -> selected provider

Bevor Sie beginnen

  • Installieren Sie GoModel.
  • Wählen Sie einen GoModel-Master-Key, zum Beispiel change-me.
  • Konfigurieren Sie mindestens einen Upstream-Modell-Provider.
  • Installieren Sie das OpenAI Agents SDK für Python oder JavaScript.
Das SDK exportiert Traces standardmäßig an OpenAI. Wenn GoModel Ihr einziger OpenAI-Client-Endpunkt ist, deaktivieren Sie das Tracing oder konfigurieren Sie einen separaten OpenAI-Tracing-Key.

1. GoModel starten

Starten Sie GoModel mit einem Master-Key und einem API-Key für einen Upstream-Provider. Dieses Beispiel verwendet OpenAI als Upstream:
Wenn Sie einen anderen Provider verwenden, behalten Sie dieselbe GoModel-Base-URL bei und wählen Sie ein Modell, das Ihr Provider über GoModel bereitstellt.

2. Den Responses-Endpunkt prüfen

Senden Sie einen kleinen Request über GoModel:
Ist das Gateway korrekt angebunden, enthält die Response ok.

3. Das SDK konfigurieren

Richten Sie den OpenAI-Client des SDK auf GoModel aus:

Modell-IDs mit Namespace

Das Python-SDK behandelt Strings wie anthropic/claude-sonnet-4-20250514 und gemini/gemini-2.0-flash standardmäßig als Modellnamen mit Provider-Präfix. Sollen diese GoModel-IDs mit Namespace das Gateway unverändert erreichen, konfigurieren Sie den Modell-Provider des SDK im Pass-through-Modus für Modell-IDs:

Unterstützte SDK-Pfade

GoModel unterstützt den normalen HTTP-Responses-Pfad des SDK:
  • Runner.run(...) ohne Streaming
  • Runner.run_streamed(...) mit Streaming über HTTP/SSE
  • Function-Tool-Schleifen
  • Handoffs und Agents-as-Tools, sofern sie zu Tool Calls des Modells kompiliert werden
  • vom SDK verwaltete lokale Sessions, die den Input-Verlauf erneut senden
  • /v1/conversations für serverseitig verwaltete Conversation-Ressourcen
  • /v1/responses/input_tokens
  • /v1/responses/compact
  • lokaler Abruf von Responses über /v1/responses/{id} und /v1/responses/{id}/input_items
GoModel behält außerdem neuere Responses-Input-Items für native Responses-Provider bei. Muss ein Request für einen Provider, der Responses nicht nativ implementiert, in Chat Completions übersetzt werden, übersetzt GoModel strukturierte text-Output-Einstellungen in das response_format der Chat Completions (und reicht text.verbosity durch) – allerdings nur für Chat-Provider, die diese Felder unterstützen. Für zustandsbehaftete oder providernative Responses-Felder wie previous_response_id, conversation und gehostete Tool-Items gibt GoModel einen eindeutigen Fehler zurück. Die vollständige Feature-Matrix finden Sie unter Responses-Kompatibilität.

Speicherverhalten

GoModel speichert lokale Response-Snapshots, damit Lebenszyklus-Endpunkte auch dann funktionieren, wenn der Upstream-Provider keinen Abruf von Responses unterstützt. Sendet das SDK store: false, persistiert GoModel diesen lokalen Response-Snapshot nicht.

Aktuelle Einschränkungen

  • Der WebSocket-Transport für Responses ist nicht implementiert. Verwenden Sie mit GoModel den HTTP/SSE-Transport des SDK.
  • Gehostete Tools wie Websuche, Dateisuche und Computer Use erfordern einen nativen Upstream-Provider, der diese Tool-Payloads unterstützt. Chat-übersetzte Provider wie Anthropic und Gemini lehnen diese Tools ab, sofern GoModel nicht eine explizite Zuordnung der Provider-Funktionen dafür ergänzt.
  • Bei Anthropic wird text.format über die nativen Structured Outputs von Claude (json_schema) oder über eine Anweisung im System-Prompt (json_object) bedient, und text.verbosity wird mit einer Warnung verworfen – Anthropic hat dafür keine Entsprechung.
  • previous_response_id wird an native Responses-Provider weitergeleitet. Für Chat-übersetzte Provider löst GoModel die ID aus seinen gespeicherten Responses auf und sendet Input und Output des vorherigen Turns erneut. Die vorherige Response muss daher mit aktiviertem store erstellt worden sein. conversation wird für jeden Provider aus den vom Gateway verwalteten Conversations aufgelöst.
  • Tracing ist vom Modell-Routing getrennt. Deaktivieren Sie das Tracing des SDK oder konfigurieren Sie einen echten OpenAI-Tracing-Key.

Weitere Beispiele

Lauffähige Beispiele finden Sie in docs/examples/openai-agents-sdk/.

Referenzen

Zuletzt geändert am 24. Oktober 2026