Při implementaci automatizovaných skriptů, které zpracovávají odpovědi z ChatGPT, je kritické definovat robustní mechanismy pro parsování. Model, ačkoliv je vysoce pokročilý, stále operuje na bázi pravděpodobnosti výskytu tokenů, nikoliv na bázi deterministické logiky. To znamená, že i při správně formulovaném promptu může dojít k drobným odchylkám v syntaxi, jako je chybějící uzavírací závorka nebo nesprávné kódování speciálních znaků.
⚠ Varování pro vývojáře
Nikdy nepoužívejte funkci eval() pro zpracování JSON výstupů z LLM. Vždy implementujte validaci schématu (např. pomocí knihovny Pydantic nebo Joi) a ošetřete výjimky pro případy, kdy je vrácen nevalidní řetězec.
Důležitým aspektem je také práce s tokeny. Strukturovaná data, zejména rozsáhlé tabulky nebo vnořené JSON objekty, spotřebovávají značné množství výstupních tokenů. Je proto nutné optimalizovat hloubku zanoření a volit úsporné názvy klíčů. Pokud narazíte na oříznuté odpovědi, doporučujeme prostudovat sekci odstraňování chyb v generování, která se věnuje limitům kontextového okna.
Metodický postup pro vynucení formátu
- Definice typu: Explicitně uveďte formát (např. "Output format: valid JSON object").
- Specifikace polí: Vyjmenujte povinné klíče a datové typy hodnot (string, integer, boolean).
- Příklad výstupu: Poskytněte minimalistickou šablonu, kterou má model vyplnit.
- Zákaz kontextu: Přidejte instrukci "Do not include any preamble or postscript".
V pokročilých scénářích, kde je vyžadována absolutní přesnost, lze využít techniku Chain-of-Thought. V tomto případě model nejprve provede analýzu dat v textové podobě a až v posledním kroku provede jejich syntézu do požadovaného strukturovaného formátu. Tím se zajistí, že logické kroky předcházejí finální formátovací fázi, což výrazně zvyšuje kvalitu výsledných dat.