GETAPI
СвязатьсяВойти
GETAPI/Документация/Структурированный вывод

Структурированный вывод

JSON-режим, JSON Schema и проверка результата

Для ответа в JSON используйте response_format в Chat Completions Поддержка строгой схемы зависит от модели

JSON Schema

bash
curl https://api.getapi.ru/v1/chat/completions \
  -H "Authorization: Bearer $GETAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1-mini",
    "messages": [{"role": "user", "content": "Извлеки имя и возраст: Анна, 30 лет"}],
    "max_tokens": 256,
    "response_format": {
      "type": "json_schema",
      "json_schema": {
        "name": "person",
        "strict": true,
        "schema": {
          "type": "object",
          "properties": {
            "name": {"type": "string"},
            "age": {"type": "integer"}
          },
          "required": ["name", "age"],
          "additionalProperties": false
        }
      }
    }
  }'

Содержимое choices[0].message.content в этом примере

json
{"name":"Анна","age":30}

Параметры схемы

ПолеТипОписание
typestringjson_schema
json_schema.namestringИмя схемы
json_schema.strictbooleanСтрогий режим для совместимой модели
json_schema.schemaobjectJSON Schema результата

Используйте только поддерживаемые моделью конструкции схемы Наличие поля strict в запросе не доказывает, что выбранная модель применяет этот режим

JSON-режим

Если достаточно корректного JSON без фиксированной схемы, используйте

json
{"response_format":{"type":"json_object"}}

В инструкции явно попросите JSON Этот режим не задаёт обязательные поля, типы и ограничения предметной области

Обработка результата

  1. Проверьте HTTP-статус и наличие ошибки
  2. Обработайте отказ модели, пустой текст и завершение по лимиту
  3. Разберите строку content как JSON
  4. Проверьте объект по своей схеме
  5. Примените бизнес-правила, например допустимый диапазон возраста

Порядок ключей и пробелы не являются частью контракта Не извлекайте JSON по фиксированным позициям строки

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

Поддержка json_schema, доступных конструкций и строгого режима зависит от модели и маршрута Если параметр не поддерживается или игнорируется, используйте инструмент со схемой аргументов и проверяйте результат в приложении

Даже при совместимой модели обрабатывайте неполный ответ У моделей с рассуждениями бюджет вывода должен учитывать и рассуждения, и итоговый объект

Chat Completions, рассуждения

Назад
← Вызов инструментов
Далее
Рассуждения и бюджет вывода →