Урок 2 із 7
Структуровані відповіді (JSON)
7 хв читання
Твій прототип працює в демо. Аж тут модель видає «Звісно! Сума приблизно п'ятдесят дев'ять доларів 🙂», і твій парсер, що чекав на число, падає. Як зробити відповідь формою, а не настроєм?
Проза — для людей; коду потрібна форма
Попроси суму замовлення — і балакуча модель дасть тобі речення. Приємно читати, боляче парсити: формулювання гуляє щоразу, тож parseFloat — то лотерея. Вихід — перестати просити текст і почати вимагати структуру: назви поля, які тобі потрібні, і типи, якими вони мають бути.
Вільний текст добре читається, та його форма щоразу інша. Схема пришпилює відповідь до фіксованих полів і типів, на які твій код може покластися.
Проси JSON або примушуй його
Є дві версії — слабша і сильніша. Слабка: попроси JSON у промпті й сподівайся: зазвичай працює, але випадкове речення чи пропущене поле колись вилізе тобі боком у проді. Сильна: скористайся провайдерським structured output або схемою інструмента, і форму буде жорстко задано — кожне поле на місці, кожен тип правильний, жодної прози, яку треба зчищати. Бери жорстку версію щоразу, коли відповідь потрапляє в код.
Попросити JSON — це побажання; схема — це гарантія. Коли відповідь потрапляє в іншу систему, гарантуй форму.
Навіть із валідним JSON значення можуть бути хибними: схема гарантує структуру, а не правдивість даних. Перевіряй діапазони та enum'и й ніколи не довіряй числу лише за те, що воно розпарсилося.
Суть коротко
- —Вільний текст — для людей; структурований JSON — для коду.
- —Просити JSON у промпті — це «як вийде»: щось усе одно може поплисти або поле випаде.
- —Схема (structured output / виклик інструмента) жорстко задає поля й типи.
- —Схема гарантує форму, а не правильність — усе одно перевіряй значення.
Тобі треба, щоб відповідь моделі лягала прямо в рядок бази даних, без чистки. Який підхід найнадійніший?
Продовжити в застосунку
Пройди весь курс «Створення AI-застосунків через API» — з відстеженням
Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.