LLM API с нуля: первый AI-сервис на PythonОткрытые материалыStructured Output: JSON и Pydantic для LLM
Structured Output: JSON и Pydantic для LLM
Уроки курсаStructured Output: JSON и Pydantic для LLM
JSON mode не равен schema enforcement
Режим «валидный JSON» гарантирует синтаксис JSON, но не обязательно нужные поля и типы. Schema-native structured output ограничивает форму ответа сильнее. После получения всё равно полезно прогнать runtime-валидацию Pydantic: она защищает внутренний код и нормализует обработку ошибок.
Схема должна быть небольшой и однозначной. Используйте enum или Literal вместо произвольной строки, задавайте допустимые диапазоны и отличайте nullable поле от необязательного. Не просите модель вычислять поля, которые надёжнее получить программно.
Если провайдер не поддерживает часть JSON Schema, адаптер может использовать tool strategy. Поведение и поддерживаемые ограничения сверяйте для конкретной модели и версии SDK.
