Spaces:
Sleeping
Sleeping
File size: 1,142 Bytes
208266a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | from pydantic import BaseModel, Field
from typing import Optional
class AnalyzeRequest(BaseModel):
topic: str = Field(..., min_length=1, max_length=200)
top_k: int = Field(default=10, ge=1, le=20)
class ArticleResult(BaseModel):
source: str
source_bias: str
source_bias_provenance: Optional[str] = None
url: str
title: Optional[str] = None
description: Optional[str] = None
publishedAt: Optional[str] = None
text: str
text_label: str
confidence: float
similarity_score: float
probabilities: dict
class SourceSummary(BaseModel):
source_bias: str
Biased: int
Not_Biased: int = Field(alias="Not Biased")
total: int
class Config:
populate_by_name = True
class AnalyzeResponse(BaseModel):
topic: str
total_articles: int
results: list[ArticleResult]
summary: dict[str, SourceSummary]
class IngestRequest(BaseModel):
topic: str = Field(..., min_length=1, max_length=200)
page_size: int = Field(default=10, ge=1, le=50)
class IngestResponse(BaseModel):
topic: str
articles_fetched: int
articles_stored: int
status: str
|