citationEdge / scripts /debug_verdict.py
omkarkudalkar222's picture
deploy: full CitationEdge update (text detection, report UI, fixes) for HF Spaces
497f49b
Raw
History Blame Contribute Delete
1.89 kB
import asyncio
import sys
sys.path.insert(0, ".")
from agents.claim_verifier_agent import VERIFY_SYSTEM, ClaimVerifierAgent
from services.llm_service import LLMService
from services.neo4j_service import Neo4jService
from services.paper_recommender import extract_query
CLAIM = (
"The P/E ratio of Real Estate Sector and Consumer Discretionary Sector are higher than others, "
"indicating expected earning growth in the future."
)
KW = ["profit margin", "cogs", "gross margin", "factor analysis", "gross margins",
"alternative energy", "momentum factor", "trading strategy", "dividend yield"]
async def main():
agent = ClaimVerifierAgent()
kw = KW
topic_query = " ".join(str(k).strip() for k in kw[:4] if str(k).strip())
claim_terms = extract_query(CLAIM, kw)
claim_query = " ".join(claim_terms[:4]) if claim_terms else ""
queries = list(dict.fromkeys(q for q in (topic_query, claim_query) if q))
print("QUERIES:", queries)
try:
for q in queries:
recs = await agent._get_recommender().search_web(q, limit=4, keywords=kw)
print("search_web:", q, "->", len(recs))
for r in recs[:3]:
print(" >", r.get("source"), "|", (r.get("title") or "")[:60])
except Exception as e:
import traceback
traceback.print_exc()
evidence = await agent._gather_evidence(CLAIM, KW)
print("EVIDENCE:", len(evidence))
for e in evidence[:5]:
print(" >", e["source"], "|", e["title"][:60], "|", e["snippet"][:80])
if evidence:
block = "\n".join(
f"- [{e['source']}] {e['title']}: {e['snippet']}" for e in evidence[:5]
)
llm = LLMService()
result = await llm.complete_json(
VERIFY_SYSTEM, f"Claim: {CLAIM}\n\nRetrieved evidence:\n{block}"
)
print("LLM VERDICT:", result)
asyncio.run(main())