Скилл: JSON и схемы
Проверка структурированного ответа
Выбор режима
Различай три случая
| Режим | Что требуется от приложения |
|---|---|
| Просьба вернуть JSON в тексте | Очистка только ожидаемого формата, разбор и проверка |
json_object | Разбор JSON и собственная проверка структуры |
json_schema | Передача схемы и проверка результата по ней |
Поддержка зависит от модели. Принятый параметр не гарантирует, что модель применила схему
Проверка ответа
Сначала проверь ошибку, отказ и причину завершения. Затем разбери JSON и проверь обязательные поля, типы и дополнительные свойства
Не исправляй повреждённый ответ незаметно. Для повторной генерации сохраняй причину ошибки и ограничивай число попыток
Не считай Markdown-блок гарантированным контейнером JSON. Если клиент ожидает чистый JSON, проверяй именно это
Схема
Используй минимальную схему для задачи. Не добавляй неподдерживаемые конструкции только потому, что они разрешены полной спецификацией JSON Schema
Не меняй пользовательский контракт данных ради прохождения проверки модели без согласования
Примеры: структурированный вывод