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.