| # 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) | |