Popularność formatu JSON wśród deweloperów
Format JSON, znany jako JavaScript Object Notation, jest powszechnie stosowany w branży ze względu na swoją czytelność zarówno dla ludzi, jak i dla maszyn. Mimo to, duże modele językowe (LLM) często napotykają trudności w pracy z JSON-em. Wyniki generowane przez te modele mogą być niepełne, zawierać błędy, a nawet całkowicie odbiegać od założeń, co wymusza stosowanie różnych obejść, takich jak narzędzia open-source, zmiana promptów lub wielokrotne próby uzyskania poprawnego wyniku.
Nowa funkcja OpenAI dla deweloperów
Aby rozwiązać te problemy, OpenAI wprowadziło funkcję Structured Outputs w swoim API. Funkcja ta ma na celu zapewnienie zgodności wyników generowanych przez modele z określonymi schematami JSON. Schematy te definiują zawartość, strukturę, typy danych oraz oczekiwane ograniczenia w dokumentach JSON, co jest kluczowe dla zapewnienia spójności w różnych aplikacjach. Według OpenAI, jest to jedna z najczęściej oczekiwanych funkcji przez deweloperów, ponieważ pozwala na utrzymanie spójności wyników.
Wsparcie dla różnych modeli i API
Nowa funkcjonalność Structured Outputs jest dostępna w modelach GPT-4o-mini, GPT-4o oraz ich wersjach dostosowanych do konkretnych zastosowań. Można ją wykorzystać w API Chat Completions, Assistants API oraz Batch API, a także jest kompatybilna z wejściami wizualnymi. Dzięki tej funkcji, deweloperzy mogą ograniczyć modele OpenAI do generowania wyników zgodnych z określonymi schematami, co pozwala uniknąć problemów z brakującymi kluczami lub błędnymi wartościami.
Rozwinięcie trybu JSON i dodatkowe zalety
OpenAI podkreśla, że Structured Outputs to rozwinięcie wcześniej wprowadzonego trybu JSON, ale z dodatkową gwarancją zgodności ze schematami. Funkcja ta pozwala również na bardziej zaawansowane zrozumienie skomplikowanych schematów przez modele, co znacznie ułatwia pracę deweloperów. Dzięki Structured Outputs, nie ma potrzeby wielokrotnego sprawdzania i poprawiania błędnie sformatowanych odpowiedzi, co znacząco upraszcza proces tworzenia zapytań.