This project is designed to analyze resumes and job postings, converting them into structured JSON formats for easier comparison and scoring. It leverages the power of OpenAI's GPT models to generate tailored resumes based on job postings, ensuring a better match between candidates and job requirements.
- Resume and Job Posting Extraction: Extracts text from PDFs and converts job postings into structured JSON.
- Text Splitting and Embedding: Splits large texts into manageable chunks and generates embeddings for analysis.
- Resume Optimization: Tailors resumes to better match specific job postings using GPT-3.5.
- Scoring System: Matches resumes with job postings and provides a compatibility score.
- PDF Resume Generation: Creates a professional PDF resume based on the optimized content.
- Python: Core programming language.
- Streamlit: For building the web interface.
- PyPDF2: For PDF text extraction.
- Pandas: For handling data structures.
- Langchain: For text splitting and embedding.
- OpenAI API: For text generation and analysis.
- ReportLab: For generating PDF resumes.
- dotenv: For loading environment variables.
-
Clone the repository:
git clone <repository_url> cd <repository_name>
-
Install the dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.env
file in the root directory and add the following:OPENROUTER_API_KEY=your_openrouter_api_key OPENAI_API_KEY=your_openai_api_key RAPIDAPI_KEY=your_rapidapi_key
-
Download the required models: Ensure you have the necessary HuggingFace embeddings and Langchain models downloaded.
-
Run the Streamlit application:
streamlit run app.py
-
Use the Web Interface:
- Upload your PDF resume.
- Paste your job posting text into the provided area.
- View the generated analysis and optimized resume.
- Download the tailored resume as a PDF.
-
Uploading Resume and Posting:
- Upload your resume PDF file using the file uploader.
- Paste the job posting text into the text area.
-
Viewing Analysis and Optimized Resume:
- The application will display the analysis score and the newly generated resume.
-
Downloading the PDF:
- Click the download button to save the optimized resume as a PDF.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please read the CONTRIBUTING guidelines first.
- OpenAI for providing the GPT-4 API.
- HuggingFace for embeddings.
- Langchain for text processing tools.
- ReportLab for PDF generation.
For any questions or suggestions, please contact adcan288@gmail.com.