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.