Spaces:
Sleeping
Sleeping
| """Quick RAG retrieval smoke test before RAGAS eval.""" | |
| import sys | |
| sys.path.insert(0, r'C:\Users\Dhrumil.parikh\OneDrive - Taazaa Tech Pvt Ltd\Desktop\playbook_final\geminirag') | |
| from dotenv import load_dotenv | |
| from pathlib import Path | |
| load_dotenv(Path(__file__).parent.parent / ".env") | |
| from sqlmodel import Session, create_engine, select | |
| from app.config import settings | |
| from app.rag import engine as rag_engine | |
| from app.models.db import User | |
| import os | |
| db_engine = create_engine(os.environ["DATABASE_URL"], echo=False) | |
| QUESTIONS = [ | |
| "What sales deals or opportunities are currently being tracked?", | |
| "Who are the key contacts or customers in the CRM?", | |
| "What are the revenue forecasts for 2026?", | |
| "What support tickets have been raised and what is their status?", | |
| "What products or services are mentioned in the documents?", | |
| ] | |
| with Session(db_engine) as db: | |
| user = db.exec(select(User)).first() | |
| if not user: | |
| print("ERROR: No users in database") | |
| sys.exit(1) | |
| print(f"Querying as user: {user.email}\n") | |
| for q in QUESTIONS: | |
| print(f"Q: {q}") | |
| try: | |
| result = rag_engine.query( | |
| question=q, | |
| job_ids=None, | |
| user_id=user.id, | |
| db=db, | |
| settings=settings, | |
| ) | |
| gate = result.get("confidence_gate_passed", False) | |
| score = result.get("avg_similarity_score", 0) | |
| chunks = result.get("citations", []) | |
| answer = result.get("answer", "") | |
| print(f" Gate: {'PASS' if gate else 'FAIL'} Score: {score:.3f} Chunks: {len(chunks)}") | |
| print(f" Sources: {[c['filename'] for c in chunks[:3]]}") | |
| print(f" Answer: {answer[:200]}") | |
| except Exception as e: | |
| print(f" ERROR: {e}") | |
| print() | |