Споделяне отново — съдържание от Julien Mutzenhardt
17 000 € санкции за лошо форматиран JSON: фаталната грешка с LLM! 
Разработчик причини огромно забавяне в обработката на критични файлове за своята компания. Причината? Проста интеграционна грешка. 
И все пак той беше ясно посочил в своя промпт: „Отговори в JSON.“ Проблемът е, че моделът, много учтиво, отговори: „Разбира се, ето информацията:“, преди да вмъкне своя код.
Резултат: парсерът, който очакваше суров JSON обект, се срина в цикъл. 
Поуката: Промптът е само инструкция, не задължение.
Все едно да кажете на кучето си да не пипа пилето на масата и после да си легнете. Нищо всъщност не принуждава модела на изкуствения интелект стриктно да се подчини на поискания формат.
Истинското решение: „Constrained Decoding“ (ограничено декодиране)
Вместо да се надявате моделът да се съобрази с текстовите ви инструкции, дайте му „JSON Schema“ (точният план на очаквания отговор, за да се дефинира например, че дадена сума трябва да е число).
Как работи под капака?
Вместо да оставяте LLM да избира следващата дума от целия си речник, генерационният двигател преизчислява разрешените „токени“ в реално време. Например, за да започне JSON обект, той ще разреши само отварящата скоба {. Моделът няма друг избор. Така форматът става валиден по конструкция, което избягва стартирането на хиляди ненужни нови опити (retries)! 
Как да го приложите, без да прекодирате прекалено сложно чудовище?
Просто изпратете вашата JSON Schema към стандартните API-та (като OpenAI или Anthropic), които се грижат за обработката ѝ. А ако хоствате собствения си AI модел локално, двигатели като vLLM се справят също толкова лесно.
Спрете да правите каквото и да е в продукция и защитете изходните данни от вашите LLM! 
Резюмето на тази статия е генерирано от AI.
А вие, виждали ли сте някога система да се срине по средата на работа заради неочакван отговор от изкуствен интелект?
#ArtificialIntelligence #Development #JSON #LLM #OpenAI #VLLM #Programming #Tech
Ако желаете да обсъдите темата с мен или да се възползвате от уменията ми, можете да се свържете с мен чрез лично съобщение или видео разговор.
Източници от LinkedIn
- Профил: Pierre Jean Duvivier dit Sage (LinkedIn)
- Споделил автор: Julien Mutzenhardt (LinkedIn)
Публикацията 🚨 17 000 € санкции за лошо форматиран JSON: фаталната грешка с LLM! 🚨 се появи първо на les plumes qui mordent.
Често задавани въпроси
ЧЗВ 17000 санкции за лошо форматиран JSON: фаталната грешка с LLM
1 За какво се отнася тази санкция от 17000
Става въпрос за реален случай, при който AI система е произвела неправилно форматиран JSON изход, който е счупил последващ процес и е довел до финансова санкция от 17000. Използва се като предупредителен пример за това защо форматирането на изхода има значение
2 Какво е JSON
JSON е прост текстов формат за структуриране на данни като двойки ключ-стойност, списъци и вложени обекти. Това е стандартният начин, по който софтуерът обменя данни
3 Какво означава лошо форматиран JSON
JSON, който нарушава синтактичните правила — например липсващи кавички, запетаи в края, неекранирани символи, небалансирани скоби или допълнителен текст преди/след обекта. Парсерите го отхвърлят
4 Защо LLM произвеждат невалиден JSON
LLM генерират текст вероятностно. Те могат да добавят обяснения, да използват markdown кодови ограждения, да халюцинират полета, да отрежат изхода или леко да се отклонят от схемата — особено без строги инструкции или валидация
5 Как една грешка във форматирането може да струва 17000
Ако дадена система сляпо се доверява на изхода от LLM, невалидният JSON може да срине автоматизирани pipeline-ове, да причини грешни транзакции, да задейства договорни SLA санкции или да наложи ръчни поправки. Една малка синтактична грешка може да прерасне в реална финансова загуба
6 Коя е най-честата JSON грешка на LLM
Ограждането на JSON в markdown или добавянето на разговорен текст около него. Други чести проблеми са запетаи в края, единични кавички и отрязан изход
7 Как да накарам LLM да върне валиден JSON
Поискайте изрично само JSON, без обяснение, предоставете схема или пример, използвайте ниска температура и — най-важното — валидирайте и опитвайте отново при неуспех
8 Какво е валидация на JSON схема
Начин да се провери дали JSON съответства на очаквана структура. Инструменти като валидатори на JSON Schema улавят грешките, преди да достигнат до продукция
9 Трябва ли да се доверявам на изхода от LLM без да го проверявам
Не. Винаги валидирайте изхода от LLM програмно. Отнасяйте се към него като към недоверен вход, точно както към данни, подадени от потребител
10 Какво представляват структурираните изходи или JSON режимът в LLM
Функции, предлагани от някои доставчици на модели, които ограничават