import sys import argparse from pathlib import Path REPO_ROOT = Path(__file__).resolve().parents[1] if str(REPO_ROOT) not in sys.path: sys.path.insert(0, str(REPO_ROOT)) def main(): parser = argparse.ArgumentParser(description="Evaluate RAG with RAGAS") parser.add_argument("--samples", type=int, default=10, help="Number of samples (0 = all)") parser.add_argument("--mode", type=str, default="hybrid_rerank", choices=["vector_only", "bm25_only", "hybrid", "hybrid_rerank", "all"], help="Retrieval mode") args = parser.parse_args() from evaluation.ragas_eval import run_evaluation if args.mode == "all": # Run all retrieval modes print("\n" + "=" * 60) print("RUNNING ALL RETRIEVAL MODES") print("=" * 60) for mode in ["vector_only", "bm25_only", "hybrid", "hybrid_rerank"]: run_evaluation(args.samples, mode) else: run_evaluation(args.samples, args.mode) if __name__ == "__main__": main()