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