Download verifier.py from Realistvik0/First_agent_template: direct link, hf CLI and curl.
- Browser
- Download file 1.87 kB
-
https://huggingface.co/spaces/Realistvik0/First_agent_template/resolve/main/verifier.py
- Command line
-
hf download hf://spaces/Realistvik0/First_agent_template/verifier.py
-
curl -L -o verifier.py https://huggingface.co/spaces/Realistvik0/First_agent_template/resolve/main/verifier.py
1.87 kB
| from research_state import ResearchState | |
| def verify_research(state: ResearchState) -> dict: | |
| results = [] | |
| for claim in state.claims: | |
| evidence = state.evidence_for_claim(claim) | |
| if not evidence: | |
| results.append( | |
| { | |
| "claim": claim, | |
| "status": "UNVERIFIED", | |
| "reason": "No evidence was collected.", | |
| "sources": [], | |
| } | |
| ) | |
| continue | |
| supporting = [ | |
| item for item in evidence | |
| if item.supports_claim is True | |
| ] | |
| contradicting = [ | |
| item for item in evidence | |
| if item.supports_claim is False | |
| ] | |
| if contradicting: | |
| status = "CONFLICTING" | |
| elif supporting: | |
| status = "SUPPORTED" | |
| else: | |
| status = "UNCERTAIN" | |
| results.append( | |
| { | |
| "claim": claim, | |
| "status": status, | |
| "reason": _build_reason( | |
| supporting, | |
| contradicting, | |
| evidence, | |
| ), | |
| "sources": [ | |
| item.source_url | |
| for item in evidence | |
| ], | |
| } | |
| ) | |
| return { | |
| "question": state.question, | |
| "claims": results, | |
| "verified": all( | |
| item["status"] == "SUPPORTED" | |
| for item in results | |
| ), | |
| } | |
| def _build_reason(supporting, contradicting, evidence): | |
| if contradicting: | |
| return "At least one source contradicts the claim." | |
| if supporting: | |
| return f"{len(supporting)} source(s) support the claim." | |
| return ( | |
| f"Evidence was found from {len(evidence)} source(s), " | |
| "but it has not been explicitly classified as supporting." | |
| ) |