File size: 635 Bytes
bef5e76 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | """Structured output models for LLM."""
from pydantic import BaseModel, Field
class IntentClassification(BaseModel):
"""Intent classification output."""
intent: str = Field(
description="The user's intent: 'question', 'greeting', 'goodbye', 'other'"
)
needs_search: bool = Field(
description="Whether document search is needed"
)
search_query: str = Field(
default="",
description="The query to use for document search if needed"
)
direct_response: str = Field(
default="",
description="Direct response if no search needed (for greetings, etc.)"
)
|