Доступно

Structured output: JSON Schema и проверка результата

Как запросить JSON по схеме, проверить типы и значения и безопасно обработать отказ или обрезанный ответ.

API Токенмоста работает

Базовый адрес — https://tokenmost.ru/v1. Создайте ключ в личном кабинете, выберите модель в каталоге и отправьте первый запрос. Методы, которые ещё не доступны, отмечены отдельно.

Как это устроено

Фраза «ответь JSON» не гарантирует контракт. Для поддерживаемой модели передайте response_format с json_schema, затем всё равно проверьте результат валидатором и бизнес-правилами до использования.

Что потребуется

  • Модель и endpoint с поддержкой response_format/json_schema.
  • Небольшая схема с обязательными полями и additionalProperties: false.
  • Серверный JSON Schema-валидатор и обработка отказа.

Порядок работы

  1. Опишите только необходимые поля, типы, enum и required.
  2. Передайте именованную json_schema в response_format.
  3. Проверьте finish reason и наличие полного ответа до JSON.parse.
  4. Валидируйте структуру, диапазоны и бизнес-смысл.
  5. При ошибке исправьте промпт/схему или покажите контролируемый отказ, не исполняя данные.

Готовая конфигурация

Формат схемы

{"response_format":{"type":"json_schema","json_schema":{"name":"reply","strict":true,"schema":{"type":"object","properties":{"answer":{"type":"string"}},"required":["answer"],"additionalProperties":false}}}}

Что учесть

Structured output уменьшает вариативность формата, но не заменяет авторизацию, проверку истинности и бизнес-валидацию.

Синтаксис и смысл

Успешный JSON.parse подтверждает только синтаксис. Проверяйте enum, диапазоны, ссылки на существующие объекты и полномочия перед действием.

Обрезанный ответ

Если достигнут лимит, JSON может быть неполным. Не пытайтесь дописывать закрывающие символы и исполнять восстановленный объект.

Совместимость

Не каждая модель поддерживает строгую схему. Неподдерживаемое поле возвращает 400, а не молча игнорируется.

Ошибки и диагностика

HTTP 400 про response_format

Проверьте type=json_schema, имя, schema, required и additionalProperties.

JSON не проходит схему

Считайте ответ невалидным и не выполняйте действие; упростите схему или уточните инструкцию.

Ответ оборван

Увеличьте разумный лимит либо сократите схему и вход.

Корректный JSON содержит неверные данные

Добавьте серверные бизнес-проверки; schema не доказывает истинность.

Источники и связанные инструкции

Читайте дальше

← Все инструкции