Spaces:
Running on Zero
Running on Zero
File size: 1,121 Bytes
34445b3 | 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 47 48 49 50 51 52 53 54 55 56 57 | 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:
...
|