LLM API с нуля: первый AI-сервис на PythonОткрытые материалыStructured Output: JSON и Pydantic для LLM
Structured Output: JSON и Pydantic для LLM
Уроки курсаStructured Output: JSON и Pydantic для LLM
Свободный текст неудобен для кода: формат может меняться, поле исчезнуть, а число прийти строкой. Structured output задаёт схему результата и позволяет получить объект с предсказуемыми полями. В Python схему удобно описывать Pydantic-моделью.
from typing import Literal
from pydantic import BaseModel, Field
class Ticket(BaseModel):
category: Literal["billing", "technical", "other"]
priority: int = Field(ge=1, le=5)
summary: str = Field(min_length=1, max_length=300)
Названия, типы, ограничения и описания полей становятся контрактом между моделью и приложением. Провайдер или orchestration library может поддерживать schema-native output либо эмулировать его через tool calling.
