| import sys, logging |
| sys.path.insert(0, ".") |
| logging.basicConfig(level=logging.WARNING) |
|
|
| import uuid |
| from src.graph import run_recon |
|
|
| print("=== Phase 8: Full LangGraph Pipeline ===\n") |
|
|
| session_id = str(uuid.uuid4()) |
| print(f"Session ID: {session_id}") |
| print("Running full pipeline (takes ~60s)...\n") |
|
|
| result = run_recon( |
| query="What is the current state of speculative decoding in LLMs?", |
| session_id=session_id, |
| decay_config="linear", |
| ) |
|
|
| print(f"=== Pipeline Results ===") |
| print(f" Verdict: {result['critic_verdict']}") |
| print(f" Calibration: {result['calibration_bin']}") |
| print(f" Papers used: {len(result['retrieved_papers'])}") |
| print(f" Claims: {len(result['claim_confidences'])}") |
| print(f" Latency: {result['latency_ms']:.0f}ms") |
| print(f" Retry count: {result['retry_count']}") |
|
|
| print(f"\n=== Position preview ===") |
| print(result['synthesized_position'][:600]) |
|
|
| print(f"\n=== Claims ===") |
| for c in result['claim_confidences']: |
| flag = " ⚠️" if c.flagged else "" |
| print(f" [{c.confidence.upper()}] {c.text[:65]}{flag}") |
|
|
| print(f"\n=== Multi-turn test ===") |
| print("Running second query in same session...") |
| result2 = run_recon( |
| query="What are the limitations of speculative decoding?", |
| session_id=session_id, |
| decay_config="linear", |
| ) |
| print(f" Verdict: {result2['critic_verdict']}") |
| print(f" Claims: {len(result2['claim_confidences'])}") |
| print(f" Session context used: {len(result2.get('session_context').prior_positions if result2.get('session_context') else [])} prior positions") |
|
|
| print("\n✅ Phase 8 complete") |