Hamid191's picture
Upload 48 files
34445b3 verified
Raw
History Blame Contribute Delete
1.12 kB
import enum
from abc import ABC, abstractmethod
from dataclasses import dataclass, field
class Verdict(str, enum.Enum):
SACHA = "sacha"
JHOOOTA = "jhoota"
MASHKOOK = "mashkook"
URDU_LABELS = {
"sacha": "سچا",
"jhoota": "جھوٹا",
"mashkook": "مشکوک",
}
@dataclass
class EvidenceItem:
title: str
url: str
snippet: str
source_domain: str
@dataclass
class SearchableClaim:
is_checkworthy: bool = False
urdu_claim: str = ""
english_claim: str = ""
notes: str = ""
@dataclass
class VerificationResult:
claim_urdu: str = ""
claim_english: str = ""
is_checkworthy: bool = False
verdict: Verdict | None = None
reasoning_urdu: str = ""
reasoning_english: str = ""
confidence: float = 0.0
evidence: list[EvidenceItem] = field(default_factory=list)
@property
def verdict_label_urdu(self) -> str:
if self.verdict is None:
return ""
return URDU_LABELS[self.verdict.value]
class VerificationAgent(ABC):
@abstractmethod
def run(self, text: str) -> VerificationResult:
...