LLM API с нуля: первый AI-сервис на PythonОткрытые материалыStructured Output: JSON и Pydantic для LLM

Structured Output: JSON и Pydantic для LLM

Уроки курсаStructured Output: JSON и Pydantic для LLM

Отказ, ошибка и небезопасное действие

Structured output уменьшает форматные ошибки, но не гарантирует фактическую истинность. Модель может вернуть идеально валидный объект с вымышленными значениями. Для критичных полей нужны источники, business validation и иногда подтверждение человеком.

Обрабатывайте отдельно: отказ модели отвечать, сетевую ошибку, отсутствие результата, schema validation error и нарушение бизнес-правил. Не исправляйте неизвестные данные тихими defaults. Ограниченный retry допустим для случайной форматной ошибки, но не должен бесконечно повторять один и тот же запрос.

Логируйте версию схемы, модель, request id и класс ошибки без секретов и персональных данных. При изменении схемы добавляйте контрактные тесты и совместимость с уже сохранёнными объектами.