Skip to main content

Übersicht

GoModel stellt OpenAI-kompatible Endpunkte der Conversations API unter /v1/conversations bereit. Konversationen sind eine vom Gateway verwaltete Ressource. Die OpenAI Conversations API ist Provider-spezifisch, daher erzeugt GoModel die Konversations-ID und speichert die Konversation selbst. So bleibt /v1/conversations verfügbar und konsistent, unabhängig davon, über welchen Provider Ihr Modell-Traffic geroutet wird, und es ist keine Provider-Konfiguration erforderlich.

Unterstützte Endpunkte

Konversationsobjekt

metadata ist immer vorhanden und wird als {} serialisiert, wenn es leer ist.

Limits

GoModel setzt die Limits der OpenAI Conversations API durch, damit der öffentliche Vertrag kompatibel bleibt:
  • items – höchstens 20 Einträge beim Erstellen.
  • metadata – höchstens 16 Schlüssel-Wert-Paare; Keys bis zu 64 Zeichen; Werte bis zu 512 Zeichen.
Item-Payloads folgen der Union der Input-/Output-Items der Responses API. GoModel normalisiert bequeme Nachrichten-Strings, vergibt stabile Item-IDs und bewahrt neue oder Provider-spezifische Item-Felder, damit sie später aufgelistet und erneut abgespielt werden können. Item-Listen sind standardmäßig nach Neuestem zuerst sortiert (order=desc), mit 20 Items pro Seite. Verwenden Sie die zurückgegebene last_id als after-Cursor des nächsten Requests. limit akzeptiert bis zu 100 Items. Der optionale Parameter include akzeptiert dieselben Werte wie die OpenAI Conversations API, darunter reasoning.encrypted_content und message.output_text.logprobs. GoModel speichert vollständige Item-Payloads, sodass optionale Felder für spätere Requests verfügbar bleiben, während nur die in include genannten Felder zurückgegeben werden.

Speicherung und Aufbewahrung

Die reguläre GoModel-Anwendung speichert Konversationen im konfigurierten gemeinsamen Speicher-Backend (sqlite, postgresql oder mongodb), sodass sie Neustarts des Prozesses überdauern. Konversations-Snapshots laufen nach 30 Tagen ab. Ein In-Memory-Fallback wird nur verwendet, wenn der HTTP-Server ohne Speicherkonfiguration der Anwendung eingebettet wird, etwa in schlanken Tests. Auch dieser Fallback lässt Einträge nach 30 Tagen ablaufen und hält höchstens 10.000 Konversationen vor, wobei die ältesten zuerst entfernt werden.

Fehler

GoModel gibt OpenAI-kompatible Fehler zurück:
  • 400 invalid_request_error – ungültiger Body, fehlendes metadata beim Update, ein ungültiges Item oder ein überschrittenes Limit (das Feld param nennt das betroffene Feld).
  • 404 not_found_error – die Konversation oder das angeforderte Item existiert nicht.
  • 404 invalid_request_error mit param: "after" – der Paginierungs-Cursor bezeichnet kein Item in der Konversation.
Die Persistierung der Konversation ist Teil eines erfolgreichen /v1/responses-Turns. Wenn der Provider erfolgreich antwortet, der abgeschlossene Austausch aber nicht gespeichert werden kann, liefert ein Request ohne Streaming 500; ein Streaming-Request endet, ohne response.completed auszugeben. GoModel dedupliziert derzeit keinen Client-Retry dieses fehlgeschlagenen Requests, sodass ein erneuter Versuch den Provider erneut aufrufen und erneut Kosten verursachen kann. Der fehlgeschlagene Austausch fehlt im Konversationsverlauf, daher lässt sich anhand des Verlaufs nicht zuverlässig feststellen, ob der Provider-Aufruf bereits ausgeführt wurde. Vermeiden Sie automatische Retries oder koordinieren Sie sie über einen unabhängigen, dauerhaften Idempotenzmechanismus, wenn doppelte Aufrufe erhebliche Kosten oder Nebenwirkungen haben.

Beispiele

Eine Konversation erstellen:
Konversation abrufen:
Metadaten aktualisieren (vorhandene Keys, die hier nicht angegeben werden, bleiben erhalten):
Erweiterte Responses-Items hinzufügen:
Die nächste Seite in chronologischer Reihenfolge auflisten:
Konversation löschen:
Zuletzt geändert am 24. Oktober 2026