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="Đánh giá RAG bằng RAGAS") parser.add_argument("--samples", type=int, default=10, help="Số lượng samples (0 = tất cả)") parser.add_argument("--mode", type=str, default="hybrid_rerank", choices=["vector_only", "bm25_only", "hybrid", "hybrid_rerank", "all"], help="Chế độ retrieval") args = parser.parse_args() from evaluation.ragas_eval import run_evaluation if args.mode == "all": # Chạy tất cả các chế độ retrieval print("\n" + "=" * 60) print("CHẠY TẤT CẢ CÁC CHẾ ĐỘ RETRIEVAL") 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()