A case study implementing and comparing advanced RAG pipelines (RAG Fusion, HyDE, CRAG, and Graph RAG) on the CRAG dataset, with evaluation metrics and an interactive web demo.
- Python (retrieval, pipelines, evaluation, Flask API)
- React + Vite (frontend)
- FAISS + sentence-transformers (global corpus retrieval)
- RAG Fusion
- HyDE
- CRAG
- Graph RAG
- Install dependencies:
pip install -r requirements.txt
cd frontend
npm install
cd ..- Configure:
- Copy
config/config.example.yamltoconfig/config.yaml - Set dataset/model values (
dataset_path,generation_model,top_k) - Use Groq/Gemini or another free/local provider (no OpenAI key)
- Run backend:
python backend/app.py- Run frontend:
cd frontend
npm run dev- Run evaluation:
python run_evaluation.pyEvaluation output is saved to results/evaluation_results.csv.
- CRAG Task 1 & 2 dev dataset
- Place
crag_task_1_and_2_dev_v4.jsonlindataset/ - Schema:
docs/dataset.md
Full implementation notes, pipeline analysis, and evaluation results:
Pipeline extension notes (Basic RAG, Multi-Query RAG, RRR integration):
- Full assignment details:
ASSIGNMENT.md - Keep folder structure unchanged