Skip to content

khzunair/hire-flow-ai-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HireFlow: AI-Powered Resume Matching System (NLP & RAG)

🎯 Project Overview

HireFlow is an advanced AI microservice designed to revolutionize the resume screening process. It intelligently matches candidate resumes against job descriptions, providing recruiters with semantic similarity scores and human-like evaluation summaries.

Built entirely with free and open-source tools, HireFlow mirrors the functionality of sophisticated Applicant Tracking Systems (ATS) and AI-based HR screening solutions, demonstrating robust NLP, embedding, and Retrieval-Augmented Generation (RAG) capabilities.


❗ Problem

Traditional resume screening is time-consuming, prone to human bias, and often misses suitable candidates due to keyword-only matching. Existing AI solutions are often proprietary and costly.


✅ Solution

HireFlow leverages cutting-edge open-source NLP techniques to analyze resumes and job descriptions semantically. It provides a data-driven, efficient, and transparent method for candidate ranking, reducing manual effort and improving the accuracy of initial shortlisting.


🔑 Key Features

  • 📄 Robust PDF Text Extraction: Extracts text accurately from a wide range of PDF formats.
  • 🧠 Semantic Matching: Uses Sentence Transformers for semantic similarity beyond keyword matching.
  • 💡 AI-Powered Evaluation Summaries (RAG): Integrates with Google Gemini 2.0 Flash for generating natural language explanations of match quality.
  • ⚡ High-Performance FastAPI API: RESTful API with modern, async FastAPI backend.
  • 📊 Candidate Ranking: Sorts candidates by similarity score with detailed AI feedback.
  • 🔒 Secure API Key Management: Uses environment variables to manage secrets.

🚀 Live Demo & Visual Showcase

Experience HireFlow in action!

[Optional: Link to Live Hosted API/Frontend]

  • Live API Endpoint: http://your-hosted-api-url
  • Live Web UI (if applicable): http://your-frontend-url

🖼️ Screenshots

FastAPI Interactive Documentation (Swagger UI)

Image: Screenshot of the /match_resumes endpoint.

API Request Example (Postman/Insomnia)

Image: POST request to /match_resumes with resume files + job description.

API Response Example (JSON Output)

Image: JSON response with ranked candidates and AI summaries.

Simple Frontend UI (Optional)

  • Upload files + input job description
  • Display extracted results and similarity scores with AI summaries

📐 System Architecture & Workflow

High-Level System Workflow

Image: Flowchart from upload → FastAPI → extraction → embedding → LLM → JSON output

Data Flow for AI Processing

Image: Pipeline diagram showing raw text → embeddings → cosine similarity → LLM RAG


🛠️ Technologies Used

Category Technology Logo Justification
Backend/API Python 🐍 Primary language for AI/ML and API development
FastAPI High-performance API framework
Uvicorn 🌀 ASGI server for running FastAPI efficiently
PDF Parsing PyMuPDF (fitz) 📄 Fast and robust PDF text extractor
pdfplumber 📄 Fallback parser for difficult PDFs
NLP/Embeddings Sentence-Transformers 🧠 Generates dense semantic embeddings
all-MiniLM-L6-v2 ⚙️ Efficient pre-trained transformer model
AI/LLM (RAG) Google Gemini 2.0 Flash 🌠 LLM used for RAG and human-like match evaluation
Utilities numpy, scikit-learn 📊 Vector operations and similarity computation
python-dotenv 🔐 Secure API key/environment variable management
requests 🌐 For calling external APIs like Gemini
Dev Tools Git / GitHub 🧬 Version control and collaboration
PyCharm / VS Code 💻 Development environments
Jupyter Notebook 📓 Interactive testing and experimentation

📁 Save tech logos under: assets/tech_logos/
Placeholder files: sbert.png, pymupdf.png, pdfplumber.png, uvicorn.png, gemini.png


⚙️ Setup and Local Deployment

Step 1: Clone the Repository

git clone https://github.com/your-username/hireflow.git
cd hireflow



Step 2: Create and Activate a Virtual Environment
python -m venv .venv

# On Windows
.\.venv\Scripts\activate

# On macOS/Linux
source .venv/bin/activate


Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Configure Environment Variables
GOOGLE_GENERATIVE_AI_API_KEY="YOUR_ACTUAL_GOOGLE_API_KEY_HERE"


Step 5: Prepare Sample Data

data/job_description.txt: Paste your sample job description.

data/resumes/: Add resume PDF files (e.g., resume_john_doe.pdf).

Step 6: Run the API
bash
Copy
Edit
python main.py
API will be available at: http://127.0.0.1:8000

✅ Testing the API
Visit: http://127.0.0.1:8000/docs

Use the interactive Swagger UI.

/match_resumes Endpoint
Method: POST

URL: http://127.0.0.1:8000/match_resumes

Body:

job_description: Text

resumes: Multiple PDF files (File)

Response will include extracted data, similarity scores, and AI summaries.

🛣️ Future Enhancements (Roadmap)
Frontend UI: Build with Streamlit/React/Vue

Advanced NER: Use spaCy or Hugging Face Transformers

Database Integration: Store resume/job data (PostgreSQL/MongoDB)

User Authentication: Multi-user support

Dockerization: Containerize with Docker

Cloud Deployment: Deploy on AWS/GCP/Render

JD Parsing: Auto-extract key requirements from job descriptions

Advanced LLM Integration: Fine-tune or expand RAG pipeline

🤝 Contribution
Contributions are welcome! Feel free to open issues or submit pull requests to improve HireFlow.



---

Let me know if you'd like this as a downloadable `.md` file or if you want a version with embedded images and links pre-filled.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages