Skip to main content

Przegląd

GoModel udostępnia endpointy Conversations API kompatybilne z OpenAI pod /v1/conversations. Konwersacje są zasobem zarządzanym przez gateway. Conversations API od OpenAI jest specyficzne dla providera, więc GoModel sam generuje ID konwersacji i przechowuje konwersację. Dzięki temu /v1/conversations jest dostępne i działa spójnie niezależnie od tego, który provider obsługuje ruch do Twoich modeli, i nie wymaga żadnej konfiguracji providera.

Obsługiwane endpointy

Obiekt konwersacji

metadata jest zawsze obecne i serializuje się jako {}, gdy jest puste.

Limity

GoModel egzekwuje limity OpenAI Conversations, aby publiczny kontrakt pozostał kompatybilny:
  • items – maksymalnie 20 wpisów przy tworzeniu.
  • metadata – maksymalnie 16 par klucz-wartość; klucze do 64 znaków; wartości do 512 znaków.
Payloady elementów odpowiadają unii elementów wejściowych/wyjściowych Responses API. GoModel normalizuje wygodne stringi wiadomości, nadaje stabilne ID elementów i zachowuje nowe lub specyficzne dla providera pola elementów, aby można je było później wyświetlić i odtworzyć. Listy elementów domyślnie zaczynają się od najnowszych (order=desc), po 20 elementów na stronę. Użyj zwróconego last_id jako kursora after w kolejnym requeście. limit przyjmuje do 100 elementów. Opcjonalny parametr include przyjmuje te same wartości co OpenAI Conversations API, w tym reasoning.encrypted_content i message.output_text.logprobs. GoModel przechowuje kompletne payloady elementów, więc opcjonalne pola pozostają dostępne dla późniejszych requestów, a zwracane są tylko pola wskazane w include.

Przechowywanie i retencja

Standardowa aplikacja GoModel przechowuje konwersacje w skonfigurowanym współdzielonym backendzie storage (sqlite, postgresql lub mongodb), więc przetrwają restarty procesu. Snapshoty konwersacji wygasają po 30 dniach. Zapasowy magazyn w pamięci jest używany tylko przy osadzaniu serwera HTTP bez konfiguracji storage aplikacji, na przykład w lekkich testach. On również usuwa wpisy po 30 dniach i przechowuje maksymalnie 10 000 konwersacji, usuwając najpierw najstarsze.

Błędy

GoModel zwraca błędy kompatybilne z OpenAI:
  • 400 invalid_request_error – nieprawidłowa treść, brak metadata przy aktualizacji, nieprawidłowy element lub przekroczony limit (pole param wskazuje problematyczne pole).
  • 404 not_found_error – konwersacja lub żądany element nie istnieje.
  • 404 invalid_request_error z param: "after" – kursor paginacji nie wskazuje elementu w tej konwersacji.
Zapis konwersacji jest częścią udanej tury /v1/responses. Jeśli provider odpowie poprawnie, ale ukończonej wymiany nie da się zapisać, request bez streamingu zwraca 500; request ze streamingiem kończy się bez wysłania response.completed. GoModel obecnie nie deduplikuje ponowienia takiego nieudanego requestu przez klienta, więc retry może ponownie wywołać providera i ponownie wygenerować koszt. Nieudanej wymiany nie ma w historii konwersacji, więc sprawdzenie historii nie pozwala wiarygodnie ustalić, czy wywołanie providera już się wykonało. Unikaj automatycznych retry albo koordynuj je przez niezależny, trwały mechanizm idempotencji, gdy zduplikowane wywołania mają istotny koszt lub skutki uboczne.

Przykłady

Utwórz konwersację:
Pobierz ją:
Zaktualizuj jej metadane (istniejące klucze, których tu nie podasz, zostają zachowane):
Dodaj zaawansowane elementy Responses:
Wyświetl kolejną stronę w porządku chronologicznym:
Usuń ją:
Ostatnia modyfikacja 24 października 2026