Learn AI

Відстежуй прогрес · навчайся офлайн

Отримати

Урок 2 із 7

Структуровані відповіді (JSON)

7 хв читання

Твій прототип працює в демо. Аж тут модель видає «Звісно! Сума приблизно п'ятдесят дев'ять доларів 🙂», і твій парсер, що чекав на число, падає. Як зробити відповідь формою, а не настроєм?

Проза — для людей; коду потрібна форма

Попроси суму замовлення — і балакуча модель дасть тобі речення. Приємно читати, боляче парсити: формулювання гуляє щоразу, тож parseFloat — то лотерея. Вихід — перестати просити текст і почати вимагати структуру: назви поля, які тобі потрібні, і типи, якими вони мають бути.

Вільний текст добре читається, та його форма щоразу інша. Схема пришпилює відповідь до фіксованих полів і типів, на які твій код може покластися.

Проси JSON або примушуй його

Є дві версії — слабша і сильніша. Слабка: попроси JSON у промпті й сподівайся: зазвичай працює, але випадкове речення чи пропущене поле колись вилізе тобі боком у проді. Сильна: скористайся провайдерським structured output або схемою інструмента, і форму буде жорстко задано — кожне поле на місці, кожен тип правильний, жодної прози, яку треба зчищати. Бери жорстку версію щоразу, коли відповідь потрапляє в код.

Попросити JSON — це побажання; схема — це гарантія. Коли відповідь потрапляє в іншу систему, гарантуй форму.

Навіть із валідним JSON значення можуть бути хибними: схема гарантує структуру, а не правдивість даних. Перевіряй діапазони та enum'и й ніколи не довіряй числу лише за те, що воно розпарсилося.

Суть коротко

Тобі треба, щоб відповідь моделі лягала прямо в рядок бази даних, без чистки. Який підхід найнадійніший?

Продовжити в застосунку

Пройди весь курс «Створення AI-застосунків через API» — з відстеженням

Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.