Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from src.api.schemas.common import SourceCitation | |
| class AskRequest(BaseModel): | |
| question: str = Field(..., min_length=3, description="The question to ask") | |
| model: str | None = Field(None, description="LiteLLM model string (e.g. claude-sonnet-4-20250514)") | |
| max_sources: int = Field(5, ge=1, le=20, description="Maximum source chunks to retrieve") | |
| author: str | None = Field(None, description="Filter by author name") | |
| era: str | None = Field(None, description="Filter by era (pre_1900, 1900_1930, 1930_1950, post_1950)") | |
| class AskResponse(BaseModel): | |
| answer: str | |
| sources: list[SourceCitation] | |
| model_used: str | |
| class SearchRequest(BaseModel): | |
| query: str = Field(..., min_length=2, description="Search query") | |
| n_results: int = Field(10, ge=1, le=50) | |
| author: str | None = None | |
| era: str | None = None | |