Entwicklung
07.08.2024, 10:08 Uhr
Strukturierte Datenausgaben über das API
Die strukturierte Ausgabe über das API garantiert, dass die von den Sprachmodellen generierten Daten den von Entwicklern bereitgestellten JSON-Schemata entsprechen.
(Quelle: OpenAI)
Das API von OpenAI hat die Funktion "Strukturierte Ausgaben" eingeführt, die es Entwicklern ermöglicht, zuverlässige und schema-konforme Ausgaben zu generieren. Diese Erweiterung folgt der Einführung des JSON-Modus auf dem DevDay des letzten Jahres, der eine wichtige Grundlage für die Entwicklung robuster Anwendungen darstellt. Während der JSON-Modus zwar die Zuverlässigkeit der Modelle verbessert hat, gewährleistete er nicht, dass die Antworten den spezifischen Schemata der Entwickler entsprechen. Mit den strukturierten Ausgaben wird dieses Problem jetzt gelöst.
Unstrukturierter String rein, strukturierte Daten raus: So sehen wohl viele Anwendungsfälle aus, die das API von OpenAI nutzen. Bislang konnte man zwar über die Formulierung des Prompt eine Ausgabe der Daten als JSON wünschen, sicher sein konnte die Anwendung aber nicht, dass das Resultat tatsächlich in diesem Format zurückkam.
Durch die neue Funktion benötigen Entwickler nicht mehr den Umweg über Open-Source-Tools oder mehrfache Versuche, um sicherzustellen, dass die Modell-Ausgaben den erforderlichen Formaten entsprechen. Strukturierte Ausgaben konstruieren die Modelle so, dass sie den bereitgestellten Schemata folgen, während gleichzeitig die Fähigkeit zur Verarbeitung komplexer Schemata verbessert wird.
Der neue Modelltyp gpt-4o-2024-08-06 soll in Tests 100 Prozent Schematreue erzielt haben. Dies, so OpenAI, repräsentiere einen signifikanten Fortschritt im Vergleich zu früheren Modellen, die deutlich schwächere Ergebnisse erzielt haben.
Die Nutzung dieser strukturierten Ausgaben wird in zwei Formen eingeführt, einmal über Funktionsaufrufe und einmal über ein neues Antwortformat, mit dem Entwickler ein JSON-Schema für die Ausgabe bereitstellen können.
Die neue Funktionalität beachtet die bestehenden Sicherheitsrichtlinien. Entwickler können auch programmatisch erkennen, ob ein Modell eine Anfrage abgelehnt hat, anstatt eine Ausgabe zu generieren, die dem Schema entspricht. Dies geschieht durch einen neuen Ablehnungsstring, der den Entwicklern angezeigt wird.
Zusätzlich wurde die native Unterstützung für strukturierte Ausgaben in den Python- und Node SDKs hinzugefügt, sodass das Bereitstellen eines Schemas für Tools oder als Antwortformat einfacher geworden ist.