This project automates resume screening using GPT-4 and SBERT embeddings, comparing resumes with job descriptions to generate three scores:
- GPT-4 Score → Measures structured relevance based on skills, experience, and education.
- SBERT Similarity Score → Measures textual similarity between resume & job description.
- Final Combined Score → The average of both scores.
✅ Built With: FastAPI | OpenAI GPT-4 | SBERT | Azure AI Studio | PDF/Text Processing
⚠️ Project Status: This project is currently in progress. Due to limitations on the number of requests that can be sent to Azure OpenAI in the student plan, development will continue once access to Azure premium services is available. The core functionality is implemented, but further testing and optimization are pending.
📂 AI_Resume_Screening
│── 📂 src
│ ├── preprocess.py # Text extraction from resumes & JDs
│ ├── match_score.py # Computes matching scores using GPT-4 & SBERT
│ ├── app.py # FastAPI server & endpoint for resume matching
│ └── __init__.py
│── 📂 deployment
│ └── azure_config.yaml # Azure deployment configuration
│── 📂 models # Model artifacts and embeddings
│── 📂 tests
│ ├── sample_resume.pdf # Example resume for testing
│ └── job_description.txt # Example job description
│── .env # API keys (ignored in Git)
│── requirements.txt # Dependencies
│── README.md # Documentationgit clone https://github.com/your-repo/AI_Resume_Screening.git
cd AI_Resume_Screeningpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the root directory and add:
AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com/
AZURE_OPENAI_KEY=your-azure-api-key
AZURE_OPENAI_DEPLOYMENT=gpt-4-deployment # Use the deployment name you setuvicorn src.app:app --reload✅ API will be available at: http://127.0.0.1:8000
{
"resume_path": "tests/sample_resume.pdf",
"job_description_path": "tests/job_description.txt"
}{
"gpt_score": 85,
"sbert_score": 78.5,
"final_score": 81.75
}| Score Type | Description |
|---|---|
| GPT-4 Score | Evaluates skills, education, & experience match (0-100) |
| SBERT Similarity | Textual similarity score (0-100) |
| Final Score | Average of both scores |
1️⃣ Create an Azure AI Studio Project
2️⃣ Configure deployment settings in deployment/azure_config.yaml
3️⃣ Deploy FastAPI using Azure App Service
4️⃣ Expose the API endpoint for resume screening
🔗 Final API Endpoint Example: https://your-azure-app-url/match
⚠️ Note: Due to limitations in the Azure OpenAI student plan, the deployment is currently restricted. The project will be fully deployed once access to Azure premium services is available.
✅ Support for multiple job descriptions 📄 ✅ Improved experience handling for fresher jobs 🆕 ✅ UI for job seekers & HR to upload resumes 🎨 ✅ Integration with job boards and ATS systems ✅ Real-time resume analysis and feedback ✅ Custom scoring weights for different job roles
Project developed by Satyam Sinha as part of an internship assessment.
📩 Contact: [sinha2satyam2004@gmail.com]
This project is licensed under MIT License.