test / app /models.py
broskiiii's picture
feat: Add fake news detection with OCR text extraction
0bd4607
raw
history blame contribute delete
751 Bytes
from pydantic import BaseModel, Field
from typing import Any
class TextRequest(BaseModel):
text: str
class AnalysisResult(BaseModel):
risk_score: float = Field(..., ge=0.0, le=1.0, description="0.0 = safe, 1.0 = critical threat")
risk_level: str = Field(..., description="LOW | MEDIUM | HIGH | CRITICAL")
verdict: str = Field(default="", description="REAL | FAKE | UNVERIFIABLE | PHISHING")
content_type: str = Field(default="", description="phishing | fake_news | real_news | unknown")
threat_types: list[str] = Field(default_factory=list)
explanation: str
simplified_explanation: str = Field(default="", description="Plain-language verdict summary")
tool_outputs: dict[str, Any] = Field(default_factory=dict)