Files
AI/참고/instructor-main/docs/examples/using_decimals.md
2026-05-12 19:40:31 +09:00

1.4 KiB

title, description
title description
Working with Decimal Types in Instructor Learn how to use Python Decimal types for precise financial calculations and numeric data extraction with Instructor.

See Also

Using Decimals

Extract precise decimal values for financial calculations using Python's Decimal type.

from decimal import Decimal
from pydantic import BaseModel, field_validator
import instructor


class Receipt(BaseModel):
    item: str
    price: Decimal

    @field_validator('price', mode='before')
    @classmethod
    def parse_price(cls, v):
        if isinstance(v, str):
            return Decimal(v)
        return v


client = instructor.from_provider("openai/gpt-4.1-mini")

receipt = client.create(
    messages=[{"role": "user", "content": "Coffee costs $4.99"}],
    response_model=Receipt,
)

print(f"Item: {receipt.item}")
print(f"Price: {receipt.price}")  # Decimal('4.99')
print(f"Type: {type(receipt.price)}")  # <class 'decimal.Decimal'>

The field_validator ensures string values from LLM responses are properly converted to Decimal objects for precise financial calculations.