Open Source Recruitment Website
This is an open-source recruitment website designed to match resumes with job descriptions using Large Language Models (LLMs) like GPT or Gemini. The system automates the classification and analysis of resumes and job requirements to assist with candidate-job matching.
Features
- Job Listing Management: Allows users to post and manage job listings.
- Resume Submission: Candidates can submit their resumes for analysis.
- LLM-Powered Analysis: Uses GPT to analyze and match resumes to job descriptions.
- User Authentication (optional): Secure user registration and login for both employers and candidates.
Tech Stack
- Backend: Python (Flask)
- Frontend: HTML, CSS, JavaScript
- LLM Integration: GPT-3.5 (via OpenAI API)
- Database: SQLite (development) or PostgreSQL/MySQL (production)
- Hosting: Local/Cloud (Heroku, AWS, etc.)
Getting Started
Prerequisites
Before setting up the project, ensure you have the following installed:
- Python 3.8+
- Git
- Visual Studio Code (or any code editor)
- OpenAI API key (for GPT integration)
Installation
-
Clone the repository:
git clone https://github.com/your-username/recruitment-website.git
cd recruitment-website
-
Set up a virtual environment:
python -m venv venv
source venv/bin/activate # For Linux/macOS
venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
-
Set up your OpenAI API key:
Running the Application
-
Run the Flask server locally:
flask run
-
Open your browser and go to http://127.0.0.1:5000/ to access the recruitment website.
LLM API Integration
The application uses OpenAI's GPT-3.5 for resume and job description analysis. You can modify the prompt used for classification in the app.py file.
response = openai.Completion.create(
engine="gpt-3.5-turbo",
prompt=f"Analyze this resume: {resume_text} and match with job description: {job_description}",
max_tokens=150
)
Frontend Integration
The front end includes a simple form for users to paste resumes and job descriptions. It submits this data to the backend for LLM-powered analysis.
You can customize the frontend in the templates/ directory, where HTML and JavaScript files are located.
Deployment
You can deploy the website using platforms like Heroku, AWS, or any cloud provider.
For Heroku deployment:
-
Install the Heroku CLI and log in:
heroku login
-
Create a Heroku app:
heroku create
-
Deploy to Heroku:
git push heroku main
-
Open the app:
heroku open
Contributing
We welcome contributions! Here’s how you can help:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-branch
- Commit your changes:
git commit -m "Add new feature"
- Push to your branch:
git push origin feature-branch
- Submit a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.