class AnswerWithEvidence(BaseModel): answer: str = Field(...) start_page_num: int | None start_line_num: int | None end_page_num: int | None end_line_num: int | None confidence: float = Field(..., ge=0.0, le=1.0) justification: str = Field(...) quotes: list[str] = Field(default_factory=list) caveats: list[str] = Field(default_factory=list)