Views
No views yet
SanskritBERT for Sanskrit-first semantic retrievalMuRIL for multilingual retrieval across English, Hindi, and Devanagari queriesQwen 2.5 Instruct for answer generationrag-run.py, while the notebook remains available for interactive exploration.src/gita_rag/rag-run.pydual_retriever_models_clean/dual_retriever_data/rag-run.ipynbdual-model-finetuning.ipynbpython rag-run.py --uipython rag-run.py --question "Why is Arjuna overcome with sorrow before the war?"pip install -r requirements.txtdual_retriever_data/dual_retriever_models_clean/1bhagavad-gita-rag/
2|-- rag-run.py # Main launcher
3|-- rag-run.ipynb # Notebook wrapper around the packaged pipeline
4|-- dual-model-finetuning.ipynb # Archived training notebook
5|-- src/gita_rag/
6| |-- config.py # Paths and runtime configuration
7| |-- retrieval.py # Dense retriever loading and search
8| |-- generation.py # vLLM / Transformers generation backends
9| |-- pipeline.py # End-to-end RAG orchestration
10| |-- text.py # JSONL loading and text cleanup helpers
11| `-- ui.py # Gradio interface
12|-- dual_retriever_data/ # Corpus + retrieval train/dev/test files
13|-- dual_retriever_models_clean/ # Fine-tuned retriever checkpoints + FAISS indices
14|-- requirements.txt
15`-- pyproject.tomlSanskritBERT is kept as the Sanskrit-aware retriever.MuRIL is kept as the multilingual retriever.Qwen/Qwen2.5-7B-Instruct is the default generation model.vLLM is unavailable, the code falls back to a standard transformers backend so the repository still runs in more environments.vLLM is typically best on Linux with CUDA. On Windows, the project will usually fall back to transformers.dual_retriever_models_clean/comparison_clean.json, which shows the current benchmark summary: