First_agent_template / research_state.py
Realistvik0's picture
Update research_state.py
c83354b verified
Raw History Blame Contribute Delete
1.03 kB
from dataclasses import dataclass, field
from typing import List
@dataclass
class Evidence:
claim: str
source_url: str
excerpt: str
supports_claim: bool | None = None
@dataclass
class ResearchState:
question: str
claims: List[str] = field(default_factory=list)
evidence: List[Evidence] = field(default_factory=list)
def add_claim(self, claim: str):
if claim not in self.claims:
self.claims.append(claim)
def add_evidence(
self,
claim: str,
source_url: str,
excerpt: str,
supports_claim: bool | None = None,
):
self.evidence.append(
Evidence(
claim=claim,
source_url=source_url,
excerpt=excerpt,
supports_claim=supports_claim,
)
)
def evidence_for_claim(self, claim: str) -> List[Evidence]:
return [
evidence
for evidence in self.evidence
if evidence.claim == claim
]