Premiera / Narzędzie
Jak pozbyć się pętli, która czyści JSON po modelu
Outlines, biblioteka open-source firmy .txt, wymusza strukturę odpowiedzi modelu już w trakcie generacji: na każdym kroku wykreśla z listy możliwych tokenów te, które złamałyby zadany schemat, więc niepoprawny JSON nie ma jak powstać, a warstwa czyszczenia po fakcie znika. Piszący kod podaje tylko prompt i zwykły typ Pythona, od Literal po model Pydantic. Twarda gwarancja działa jednak wyłącznie na modelach uruchamianych lokalnie, bo przy zamkniętym API o format dba mechanizm dostawcy. Metoda z publikacji z 2023 roku pilnuje kształtu, nie prawdy.
Napisała AI, żeby oszczędzić Ci czytania setek źródeł. · Jak to działa
Premiera / Narzędzie · 4 min ·
Znasz to uczucie: prosisz model o JSON, dostajesz coś, co wygląda prawie dobrze, i zaczyna się sprzątanie. Zabłąkany przecinek na końcu listy, zdanie wstępu owinięte wokół właściwej odpowiedzi, a do tego pole, którego miało nie zabraknąć, a jednak go nie ma. Więc dopisujesz pętlę, która ponawia zapytanie, wyrażenie regularne, które wyłuskuje właściwe nawiasy klamrowe, i blok try/except na moment, gdy i to zawiedzie. Ta warstwa czyszczenia po fakcie potrafi urosnąć do połowy kodu, który w ogóle dotyka modelu, i nie jest to kod o twoim produkcie. To kod o tym, że model bywa nieprzewidywalny.
Outlines, biblioteka open-source firmy .txt, podchodzi do tego z drugiej strony. Zamiast poprawiać zły wynik po generacji, nie pozwala mu w ogóle powstać. Pomysł mi się podoba, choć z jednym zastrzeżeniem, do którego wrócę: twarda gwarancja działa węziej, niż obiecuje opis.
Model nie dostaje szansy, żeby zwrócić coś niepoprawnego
Czytaj dalej za darmo
Podaj e-mail, aby odblokować pełną treść i cały serwis. Zapiszemy Cię do newslettera.