AI·에이전트

structured outputs Pydantic 패턴

· · 추천 0 · 댓글 2 · 조회 71

Anthropic SDK + Pydantic

from pydantic import BaseModel

class Recipe(BaseModel):
    name: str
    ingredients: list[str]
    steps: list[str]

response = client.messages.create(
    model='claude-sonnet-4-7',
    tools=[{
        'name': 'extract_recipe',
        'input_schema': Recipe.model_json_schema()
    }],
    tool_choice={'type': 'tool', 'name': 'extract_recipe'},
    messages=[...]
)
recipe = Recipe(**response.content[0].input)

tool_choice 강제로 무조건 구조화된 응답 받음