OpenAI Agents SDK -> GoModel /v1 -> selected provider
Zanim zaczniesz
- Zainstaluj GoModel.
- Wybierz klucz główny GoModel, na przykład
change-me. - Skonfiguruj co najmniej jednego upstreamowego providera modeli.
- Zainstaluj OpenAI Agents SDK dla Pythona lub JavaScriptu.
SDK domyślnie eksportuje trace’y do OpenAI. Jeśli GoModel jest Twoim jedynym
endpointem klienta OpenAI, wyłącz tracing lub skonfiguruj osobny klucz OpenAI do tracingu.
1. Uruchom GoModel
Uruchom GoModel z kluczem głównym i kluczem upstreamowego providera. Ten przykład używa OpenAI jako upstreamu:2. Sprawdź endpoint Responses
Wyślij jeden mały request przez GoModel:ok.
3. Skonfiguruj SDK
Skieruj klienta OpenAI w SDK na GoModel:ID modeli z przestrzenią nazw
Python SDK domyślnie traktuje stringi takie jakanthropic/claude-sonnet-4-20250514 i
gemini/gemini-2.0-flash jako nazwy modeli z prefiksem providera. Jeśli chcesz,
aby takie ID modeli GoModel z przestrzenią nazw docierały do gatewaya bez zmian, skonfiguruj
providera modeli w SDK w trybie przekazywania ID modelu (pass-through):
Obsługiwane ścieżki SDK
GoModel obsługuje standardową ścieżkę HTTP Responses w SDK:Runner.run(...)bez streaminguRunner.run_streamed(...)ze streamingiem przez HTTP/SSE- pętle narzędzi funkcyjnych
- handoffy i agentów jako narzędzia, gdy kompilują się do wywołań narzędzi modelu
- lokalne sesje zarządzane przez SDK, które odtwarzają historię wejścia
/v1/conversationsdla zasobów rozmów zarządzanych po stronie serwera/v1/responses/input_tokens/v1/responses/compact- lokalne pobieranie odpowiedzi przez
/v1/responses/{id}i/v1/responses/{id}/input_items
text na response_format z Chat Completions (i przekazuje
text.verbosity dalej) tylko dla providerów czatowych, którzy obsługują te pola,
a dla stanowych lub natywnych dla providera pól Responses, takich jak
previous_response_id, conversation i elementy hostowanych narzędzi, zwraca czytelny błąd.
Pełną macierz funkcji znajdziesz w Kompatybilności Responses.
Zachowanie storage
GoModel zapisuje lokalne snapshoty odpowiedzi, aby endpointy cyklu życia działały nawet wtedy, gdy upstreamowy provider nie obsługuje pobierania odpowiedzi. Jeśli SDK wyślestore: false, GoModel nie utrwala lokalnego snapshotu tej odpowiedzi.
Obecne ograniczenia
- Transport websocket dla Responses nie jest zaimplementowany. Używaj z GoModel transportu HTTP/SSE z SDK.
- Hostowane narzędzia, takie jak web search, file search i computer use, wymagają natywnego upstreamowego providera, który obsługuje payloady tych narzędzi. Providerzy z translacją do Chat Completions, tacy jak Anthropic i Gemini, odrzucają te narzędzia, chyba że GoModel doda dla nich jawne mapowanie możliwości providera.
- W Anthropic
text.formatjest obsługiwane przez natywne structured outputs Claude (json_schema) lub instrukcję w system prompcie (json_object), atext.verbosityjest pomijane z ostrzeżeniem — Anthropic nie ma odpowiednika. previous_response_idjest przekazywane do natywnych providerów Responses. Dla providerów z translacją do Chat Completions GoModel rozwiązuje je na podstawie zapisanych odpowiedzi i odtwarza wejście i wyjście poprzedniej tury, więc poprzednia odpowiedź musi zostać utworzona z włączonymstore.conversationjest rozwiązywane z rozmów zarządzanych przez gateway dla każdego providera.- Tracing jest niezależny od routingu modeli. Wyłącz tracing w SDK lub skonfiguruj prawdziwy klucz OpenAI do tracingu.
Więcej przykładów
Gotowe do uruchomienia przykłady znajdziesz wdocs/examples/openai-agents-sdk/.
Materiały źródłowe
- Konfiguracja OpenAI Agents SDK dla Pythona: https://openai.github.io/openai-agents-python/config/
- Konfiguracja OpenAI Agents SDK dla JavaScriptu: https://openai.github.io/openai-agents-js/guides/config/
- Uruchamianie agentów w OpenAI Agents SDK: https://openai.github.io/openai-agents-python/running_agents/