Downloads ยท 30 days
0
DEEPAN-C/Resume_analysis_RAG
Resume_analysis_RAG is a document question answering model from DEEPAN-C. Use it for the document question answering task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
A sophisticated resume analysis and matching system that uses RAG (Retrieval Augmented Generation) to match resumes with job descriptions intelligently.
Downloads ยท 30 days
0
Access
Public
Updated Oct 16, 2025
Repo size
โ
Likes
5
Public
Click a slice to open those files.
.ts2.6 MB ยท 88%
From the Hugging Face model README
A sophisticated resume analysis and matching system that uses RAG (Retrieval Augmented Generation) to match resumes with job descriptions intelligently.
RAG/
โโโ CHROMA_DB/ # Vector database management
โโโ DATA_resume/ # Sample resumes
โโโ JOB_DESCRIPTIONS/ # Job description PDFs
โโโ KNOWLEDGE_EXTRACTOR/ # Document parsing
โโโ SLM_manager/ # AI augmentation
โโโ TEXT_EMBEDDING_MODEL/ # Text embedding generation
The system operates in two modes:
Python Environment Setup:
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Tesseract OCR (Optional - for scanned documents):
brew install tesseractsudo apt-get install tesseract-ocrInstall Ollama:
curl https://ollama.ai/install.sh | sh
Pull Mistral Model:
ollama pull mistral
Verify Installation:
ollama run mistral "Hello, testing Mistral AI"
โ ๏ธ Important Note: The enhanced analysis features require Mistral AI through Ollama. If you don't have Mistral AI set up:
git clone https://github.com/deepanmpc/ResumeAnalyse_RAG-Architecture.git
cd RAG
# Resume Analysis and Matching System ๐โจ
A sophisticated resume analysis and matching system that uses RAG (Retrieval Augmented Generation) to match resumes with job descriptions intelligently.
## ๐ Features
- ๐ **Multi-Format Support**: Process resumes in PDF and Word formats.
- ๐ **Advanced Text Extraction**: OCR capabilities for scanned documents.
- ๐ง **Intelligent Matching**: Uses embeddings and semantic search to find the best candidates.
- ๐พ **Vector Database**: ChromaDB for efficient similarity search and storage.
- ๐ค **AI Enhancement**: Mistral AI for advanced analysis and summarization.
- ๐ **Structured Output**: JSON format for analysis results.
- ๐ฅ๏ธ **Interactive Web UI**: A React-based frontend for a user-friendly experience.
## ๐ฅ๏ธ Web Frontend
The project includes a modern and interactive web-based user interface built with React, TypeScript, and Vite.
### Frontend Features
- **Resume Matching Dashboard**: Upload a job description and see the top matching resumes.
- **Detailed Match View**: For each matched resume, view details like:
- Resume file name.
- The section that matched best (e.g., "experience", "skills").
- A similarity score.
- The relevant text from the resume that matched the job description.
- **AI Summary Display**: Shows an AI-generated summary of the top matches. It gracefully handles and displays errors if the summary generation fails (e.g., if the AI model is not available).
- **User-Friendly Interface**: Built with modern UI components for a smooth experience.
## ๐ Getting Started
### Prerequisites
- Python 3.10 or higher
- Node.js and npm (or yarn/pnpm)
- Tesseract OCR (for scanned documents)
- Ollama with Mistral AI model (for enhanced analysis)
### Installation
1. **Clone the repository**:
```bash
git clone <repository-url>
cd RAG
```
2. **Backend Setup**:
```bash
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install Python dependencies
pip install -r requirements.txt
```
3. **Frontend Setup**:
```bash
# Navigate to the web directory
cd web
# Install Node.js dependencies
npm install
```
4. **Tesseract OCR** (Optional - for scanned documents):
- macOS: `brew install tesseract`
- Linux: `sudo apt-get install tesseract-ocr`
- Windows: Download installer from GitHub
5. **Mistral AI Setup** (Optional - for enhanced analysis):
- [Install Ollama](https://ollama.ai)
- Pull the Mistral model: `ollama pull mistral`
## ๐ฏ Usage
To run the application, you need to start both the backend server and the frontend development server.
1. **Start the Backend Server**:
From the project root directory (`RAG/`):
```bash
uvicorn api:app --reload
```
The API will be available at `http://127.0.0.1:8000`.
2. **Start the Frontend Server**:
In a new terminal, navigate to the `web/` directory:
```bash
cd web
npm run dev
```
The web application will be available at `http://localhost:5173` (or another port if 5173 is busy).
3. **Using the Application**:
- Open your browser to the frontend URL.
- Use the dashboard to upload a job description and see the matching resumes.
### Command-Line Usage (Alternative)
You can also use the system from the command line for indexing and matching.
1. **Index Resumes**:
```bash
python main.py --index DATA_resume/
```
2. **Match with Job Description**:
```bash
python main.py --job JOB_DESCRIPTIONS/job.pdf -n 5
```
## ๐ง Components
- **Backend**: FastAPI, ChromaDB, SentenceTransformers
- **Frontend**: React, TypeScript, Vite, Tailwind CSS, shadcn/ui
- **AI**: Ollama, Mistral
---
Built with โค๏ธ for making recruitment smarter
pip install -r requirements.txt
brew install tesseractsudo apt-get install tesseract-ocrpython main.py --index DATA_resume/
python main.py --job JOB_DESCRIPTIONS/job.pdf -n 5
python main.py --query "python developer with 5 years experience" -n 3
Note: AI Enhancement features require Mistral AI setup. Other components work independently.
The system generates detailed JSON analysis:
{
"rank": 1,
"id": "resume_123",
"filename": "candidate.pdf",
"similarity": 0.89,
"sections": {
"experience": 0.92,
"skills": 0.85,
"education": 0.78
}
}
This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ for making recruitment smarter