Verwendung von strukturierten Antworten
Um “response_format” korrekt zu verwenden, können Sie Ihr Schema mit verschiedenen “properties” definieren, die Kategorien von Ausgaben darstellen, jeweils mit individuell konfigurierten Datentypen. Diese Objekte können verschachtelt werden, um fortgeschrittenere Ausgabe-Strukturen zu erstellen. Hier ist ein Beispiel für einen API-Aufruf mit response_format, der den Schritt-für-Schritt-Prozess der Lösung einer mathematischen Gleichung erklärt. Sie können sehen, dass die Properties so konfiguriert wurden, dass sowohl “steps” als auch “final_answer” in der Antwort erforderlich sind. In der Verschachtelung besteht die Kategorie “steps” aus einer “explanation” und einem “output”, jeweils als Strings.Gotchas
Hier sind einige wichtige Anforderungen, die Sie bei der Verwendung strukturierter Ausgaben über response_format beachten sollten:- Erste Anfragen mit response_format können länger dauern, bis eine Antwort generiert wird. Folgeanfragen erfahren nicht dieselbe Latenz wie die erste Anfrage.
-
Bei größeren Anfragen kann das Modell scheitern, wenn entweder
max_tokensoder Modell-Timeout erreicht werden oder Rate-Limits verletzt werden - Ein falsches Schema-Format führt zu Fehlern bei der Completion, in der Regel aufgrund von Timeout
- Obwohl response_format sicherstellt, dass das Modell auf eine bestimmte Weise ausgibt, garantiert es nicht, dass das Modell die korrekten Informationen darin bereitgestellt hat. Der Inhalt wird durch den Prompt und die Modellleistung bestimmt.
- Strukturierte Ausgaben über response_format sind nicht kompatibel mit parallelen Function Calls
-
Wichtig: Alle Felder oder Parameter müssen ein
required-Tag enthalten. Um ein Feld optional zu machen, müssen Sie einenull-Option innerhalb destypedes Feldes hinzufügen, wie folgt:"type": ["string", "null"] -
Es ist möglich, Felder optional zu machen, indem Sie eine
null-Option innerhalb des required-Feldes angeben, um eine leere Antwort zuzulassen. -
Wichtig:
additionalPropertiesmuss auf false gesetzt sein, damit response_format korrekt funktioniert -
Wichtig:
strictmuss auf true gesetzt sein, damit response_format korrekt funktioniert