# models/base_models.py from pydantic import BaseModel, Field from typing import List, Optional, Dict, Any class UserInput(BaseModel): user_input: str = Field(..., min_length=1, max_length=1000) chat_history: List[tuple] = Field(default_factory=list) session_id: Optional[str] = None class SearchQuery(BaseModel): query: str = Field(..., min_length=1, max_length=500) top_k: int = Field(default=5, ge=1, le=20)