This project is an HR Resume Screening Chatbot powered by Fusion RAG. It uses advanced retrieval techniques, including dense, keyword, and hybrid search with Reciprocal Rank Fusion, all combined with LLM processing to intelligently screen candidate resumes.
- Python 3.8+
- A modern web browser to access the web interface.
-
Clone the repository:
git clone https://github.com/IbrahimAhmedlone/GenAI-Project.git cd GenAI-Project -
Set up a virtual environment:
python -m venv .venv
-
Activate the virtual environment:
- Windows:
.\.venv\Scripts\activate - Linux/Mac:
source .venv/bin/activate
- Windows:
-
Install the dependencies:
pip install -r requirements.txt
-
Set Environment Variables: Make sure you have your necessary API keys such as
DASHSCOPE_API_KEY(if utilizing Alibaba models) or other relevant keys loaded into a.envfile or exported into your shell.
To start the system, simply run main.py:
python main.pyThe system will load the vector stores and initialize the Gradio web interface. Once ready, you can access the interface by navigating to http://localhost:7860 in your web browser.
main.py: Entry point for running the application.app.py: Web interface code (Gradio).fusion_rag.py: Implements the multi-strategy Reciprocal Rank Fusion RAG pipeline.vector_store.py: Manages vector embeddings (ChromaDB/FAISS/BM25).data_ingestion.py: Handles parsing and ingesting candidate resumes.config.py: Central configuration variables.
We plan to implement an automated evaluation matrix using Ragas to systematically benchmark this Fusion RAG strategy against other state-of-the-art frameworks like HyDE, CRAG, and Graph RAG.