Download source_verifier.py from UmReh/SachAI: direct link, hf CLI and curl.
- Browser
- Download file 1.68 kB
-
https://huggingface.co/spaces/UmReh/SachAI/resolve/main/source_verifier.py
- Command line
-
hf download hf://spaces/UmReh/SachAI/source_verifier.py
-
curl -L -o source_verifier.py https://huggingface.co/spaces/UmReh/SachAI/resolve/main/source_verifier.py
1.68 kB
| import os | |
| import requests | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| GOOGLE_FACT_CHECK_API_KEY = os.getenv("GOOGLE_FACT_CHECK_API_KEY") | |
| def verify_claim_with_google(claim): | |
| if not GOOGLE_FACT_CHECK_API_KEY: | |
| return { | |
| "verified": False, | |
| "error": "GOOGLE_FACT_CHECK_API_KEY is not set", | |
| } | |
| url = "https://factchecktools.googleapis.com/v1alpha1/claims:search" | |
| params = { | |
| "query": claim, | |
| "key": GOOGLE_FACT_CHECK_API_KEY, | |
| "languageCode": "en" | |
| } | |
| try: | |
| response = requests.get(url, params=params, timeout=10) | |
| except requests.RequestException as e: | |
| return { | |
| "verified": False, | |
| "error": str(e) | |
| } | |
| if response.status_code != 200: | |
| return { | |
| "verified": False, | |
| "error": response.text | |
| } | |
| data = response.json() | |
| claims = data.get("claims", []) | |
| if not claims: | |
| return { | |
| "verified": False, | |
| "message": "No fact-check data found." | |
| } | |
| first_claim = claims[0] | |
| claimant = first_claim.get("claimant", "Unknown") | |
| text = first_claim.get("text", claim) | |
| reviews = first_claim.get("claimReview", []) | |
| if reviews: | |
| review = reviews[0] | |
| return { | |
| "verified": True, | |
| "claim": text, | |
| "claimant": claimant, | |
| "publisher": review.get("publisher", {}).get("name", "Unknown"), | |
| "rating": review.get("textualRating", "Unknown"), | |
| "url": review.get("url", "") | |
| } | |
| return { | |
| "verified": False, | |
| "message": "Claim found but no review available." | |
| } | |