Skip to content

IbrahimAhmedlone/GenAI-Project

Repository files navigation

HR Resume Screening Chatbot

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.

Prerequisites

  • Python 3.8+
  • A modern web browser to access the web interface.

Installation

  1. Clone the repository:

    git clone https://github.com/IbrahimAhmedlone/GenAI-Project.git
    cd GenAI-Project
  2. Set up a virtual environment:

    python -m venv .venv
  3. Activate the virtual environment:

    • Windows: .\.venv\Scripts\activate
    • Linux/Mac: source .venv/bin/activate
  4. Install the dependencies:

    pip install -r requirements.txt
  5. 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 .env file or exported into your shell.

Running the Application

To start the system, simply run main.py:

python main.py

The 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.

Project Structure

  • 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.

Future Plans

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages