afmjoaa/NoobRAG

LiveRAG Challenge: NoobRAG

Python

0

35 commits

updated May 22, 2025

See the code

README

LiveRAG Challenge: Team NoobRAG

Team Members:

  • Ramy Boulos
  • Himanshu Manoj Kaloni
  • A F M Mohimenul Joaa

NoobRAG Implementation FlowChart

NoobRAG Implementation FlowChart

Resources:

Environment creation:

Command to replicate the conda environment

conda env create -f environment.yml

You can also use pip to install dependencies, after activating your conda environment

pip install -r requirements.txt

API KEYS

We are using three API

We are utilizing .env file to keep the keys in the root directory, Like: .env file example

Directory structure

  • All part are structured in their own directory following clean architecture pattern.
  • Question is read from data\question\---.jsonl file
  • Final answer is saved in data\answer\---.jsonl file
  • Items which need query refinement and more retrieval are saved in data\refine\---.jsonl file
  • In the hpc\---.sh you can find the slurm scripts

How to run the code

🚀 Batch Processing with GPU Cluster

  • Purpose: Designed for the LiveRAG challenge to generate answers for 500 or more questions.
  • Requirements: Requires access to GPU clusters.
  • Configuration: To change the path to the question file, edit line 275 in batch_with_gpu_cluster.py.
  • Execution: Run the following command in the terminal:
    sbatch hpc/cluster.sh
    

Batch Processing with Single GPU

  • Suitable for generating answers for up to 100 questions
  • Requires a GPU with CUDA support
  • Configuration: To update the question file path, modify line 257 in batch_with_gpu.py.
  • Execution: Run the following command in the terminal: sbatch hpc/gpu.sh

Single Question Inference with CPU (No Query Refinement)

  • Purpose: Used for testing; answers a single question.
  • Requirements: Runs on CPU; slow performance expected.
  • Execution: Open single_with_cpu.py and run the main block manually.

Basic RAG System (No Query Refinement or Re-ranking)

  • Purpose: Verifies that the basic RAG pipeline is functional.
  • Execution: Open basic_rag.py and run the main block manually.

afmjoaa/NoobRAG

LiveRAG Challenge: NoobRAG

Python

0

35 commits

updated May 22, 2025

See the code

README

LiveRAG Challenge: Team NoobRAG

Team Members:

  • Ramy Boulos
  • Himanshu Manoj Kaloni
  • A F M Mohimenul Joaa

NoobRAG Implementation FlowChart

NoobRAG Implementation FlowChart

Resources:

Environment creation:

Command to replicate the conda environment

conda env create -f environment.yml

You can also use pip to install dependencies, after activating your conda environment

pip install -r requirements.txt

API KEYS

We are using three API

We are utilizing .env file to keep the keys in the root directory, Like: .env file example

Directory structure

  • All part are structured in their own directory following clean architecture pattern.
  • Question is read from data\question\---.jsonl file
  • Final answer is saved in data\answer\---.jsonl file
  • Items which need query refinement and more retrieval are saved in data\refine\---.jsonl file
  • In the hpc\---.sh you can find the slurm scripts

How to run the code

🚀 Batch Processing with GPU Cluster

  • Purpose: Designed for the LiveRAG challenge to generate answers for 500 or more questions.
  • Requirements: Requires access to GPU clusters.
  • Configuration: To change the path to the question file, edit line 275 in batch_with_gpu_cluster.py.
  • Execution: Run the following command in the terminal:
    sbatch hpc/cluster.sh
    

Batch Processing with Single GPU

  • Suitable for generating answers for up to 100 questions
  • Requires a GPU with CUDA support
  • Configuration: To update the question file path, modify line 257 in batch_with_gpu.py.
  • Execution: Run the following command in the terminal: sbatch hpc/gpu.sh

Single Question Inference with CPU (No Query Refinement)

  • Purpose: Used for testing; answers a single question.
  • Requirements: Runs on CPU; slow performance expected.
  • Execution: Open single_with_cpu.py and run the main block manually.

Basic RAG System (No Query Refinement or Re-ranking)

  • Purpose: Verifies that the basic RAG pipeline is functional.
  • Execution: Open basic_rag.py and run the main block manually.