Spaces:
Running
Running
| from pydantic import BaseModel | |
| from typing import List, Dict | |
| from datetime import datetime | |
| class Argument(BaseModel): | |
| argument_quote: List[str] | |
| argument_summary: str | |
| argument_source: str | |
| argument_type: str | |
| class ArticleResponse(BaseModel): | |
| """Response model for article list (minimal data for cards)""" | |
| id: int | |
| title: str | |
| source: str | |
| url: str | |
| date: datetime | |
| summary: str | |
| ai_labor_relevance: float | |
| query_score: float = 0.0 | |
| document_type: str | |
| author_type: str | |
| document_topics: List[str] | |
| class ArticleDetail(ArticleResponse): | |
| """Response model for full article details (extends ArticleResponse)""" | |
| text: str | |
| arguments: List[Argument] | |
| class FiltersResponse(BaseModel): | |
| """Available filter options""" | |
| document_types: List[str] | |
| author_types: List[str] | |
| topics: List[str] | |
| date_range: Dict[str, str] # min_date, max_date | |
| relevance_range: Dict[str, float] # min_relevance, max_relevance | |