Ustrukturyzowane wyniki OpenAI: rewolucja w niezawodności interfejsu API

Sierpnia 8, 2024

OpenAI ogłosiło przełomową funkcję o nazwie Structured Outputs, mającą na celu zwiększenie niezawodności wyników modelu swojego API. Ta innowacja umożliwia programistom dostarczanie określonych schematów JSON, zapewniając, że generowane przez AI wyniki są konsekwentnie zgodne z pożądaną strukturą.

Ustrukturyzowane wyniki OpenAI

Rozwiązanie problemu nieustrukturyzowanych danych

W dziedzinie zastosowań AI przekształcanie niestrukturalnych danych w ustrukturyzowane formaty jest kluczowym przypadkiem użycia. API OpenAI odegrało kluczową rolę w budowaniu zaawansowanych asystentów AI zdolnych do pobierania danych, odpowiadania na zapytania i wykonywania działań. Jednak programiści od dawna zmagają się z ograniczeniami LLM w niezawodnym generowaniu ustrukturyzowanych wyników.

Structured Outputs rozwiązuje to wyzwanie bezpośrednio, ucząc modele, aby lepiej rozumiały złożone schematy i ograniczały je do dopasowania do struktur zdefiniowanych przez programistę. Eliminuje to potrzebę obejścia problemów i znacznie poprawia niezawodność wyników generowanych przez sztuczną inteligencję.

Niezrównana niezawodność: gpt-4o-2024-08-06

Najnowszy model OpenAI, gpt-4o-2024-08-06, wyposażony w Structured Outputs, może pochwalić się nieskazitelnym wynikiem 100% w ocenach zgodności ze złożonym schematem JSON. To wyraźnie kontrastuje z wynikiem poniżej 40% jego poprzednika, gpt-4-0613, co pokazuje znaczną poprawę niezawodności.

Bezproblemowa integracja dla programistów

OpenAI oferuje dwa różne sposoby wykorzystania ustrukturyzowanych wyników w ramach API:

  1. Wywołanie funkcji: Programiści mogą włączyć wyniki strukturalne, ustawiając wartość strict: true w definicji funkcji. Dotyczy to wszystkich modeli kompatybilnych z narzędziami, w tym gpt-4-0613, gpt-3.5-turbo-0613 i nowszych wersji.
  2. Format odpowiedzi: Wprowadzono nowatorską opcję json_schema dla parametru respond_format, umożliwiającą programistom bezpośrednie dostarczanie schematu JSON. Jest to szczególnie korzystne, gdy model odpowiada bezpośrednio użytkownikom w ustrukturyzowany sposób i jest wspierany przez najnowsze modele GPT-4o.

Ochrona bezpieczeństwa użytkowników

Priorytetem OpenAI jest bezpieczeństwo, dlatego zaprojektowano Structured Outputs, aby były zgodne z istniejącymi protokołami bezpieczeństwa. Model zachowuje możliwość odrzucania niebezpiecznych żądań, a nowa wartość ciągu odmowy w odpowiedziach API umożliwia programistom programowe identyfikowanie takich odmów.

Zwiększanie możliwości programistów dzięki natywnej obsłudze SDK

Zestawy SDK Python i Node firmy OpenAI zostały zaktualizowane, aby natywnie obsługiwać Structured Outputs. Upraszcza to proces dla programistów, automatycznie obsługując konwersję schematu, deserializację odpowiedzi i analizę odmowy.

Różnorodne zastosowania: uwalnianie potencjału

Structured Outputs znajduje zastosowania w różnych dziedzinach, takich jak dynamiczne generowanie interfejsów użytkownika, wydobywanie ustrukturyzowanych danych ze źródeł nieustrukturyzowanych i skuteczne oddzielanie ostatecznych odpowiedzi od wspierającego rozumowania. Te wszechstronne przypadki użycia pokazują potencjał tej funkcji w zakresie transformacji rozwoju sztucznej inteligencji w wielu dziedzinach.

Za kulisami: siła ograniczonego dekodowania

Podejście OpenAI łączy szkolenie modelu z deterministyczną techniką inżynierii znaną jako constrained decoding. Poprzez konwersję dostarczonego schematu JSON na gramatykę bezkontekstową (CFG), model jest ograniczony do generowania tokenów, które są zgodne z regułami schematu. To dynamiczne ograniczenie zapewnia produkcję prawidłowych wyników JSON, minimalizując błędy.

Skok naprzód w niezawodności sztucznej inteligencji

Structured Outputs to znaczący krok naprzód w zwiększaniu niezawodności i użyteczności API OpenAI. Umożliwiając programistom szczegółową kontrolę nad strukturami wyjściowymi, OpenAI toruje drogę dla nowej generacji solidnych i niezawodnych aplikacji AI.