from pydantic import BaseModel, Field from typing import Optional, List class QuestionRequest(BaseModel): question: str = Field(..., min_length=2, max_length=500) session_id: str = Field(..., description="Identifiant unique de la session de cours") class Source(BaseModel): document: str page: Optional[int] class QuestionResponse(BaseModel): question: str answer: str sources: List[Source] cached: bool = False