The script analyses CVs/resumes for the presence of specified keywords and extracts the candidate's name and relevant experiences. It uses the OpenAI API to perform the analysis and provides a Gradio interface for user interaction.
- Extracts text from PDF CVs/resumes
- Analyses CVs/resumes for the presence of specified keywords
- Extracts candidate's name and relevant experiences
- Provides a list of the top three candidates based on the analysis
- Offers a user-friendly Gradio interface for uploading CVs/resumes and viewing the analysis results
-
Set the
OPENAI_KEY
environment variable with your OpenAI API key:export OPENAI_KEY="your_api_key"
-
Install the required dependencies using
pip install -r requirements.txt
## Prerequisites python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt python3 -m pip install --upgrade pip
-
Run the script using
python3 cv_analyser.py
. -
Access the Gradio interface in your web browser:
http://localhost:7860
-
Upload the CVs/resumes (maximum 10) in PDF format.
-
Click the
Submit
button to analyse the CVs/resumes. -
View the analysis results, including the top three candidates' names, relevant keywords, and standout experiences.
Number of CVs/Resumes | Processing Time |
---|---|
10 | 49.9 seconds |
- Modify the
keywords
list in theuse_gradio_interface()
function to specify the desired keywords for cv/resume analysis. - Adjust the prompts in the
analyse_cv()
andanalyse_cvs()
methods to customise the analysis and output format.
This project is licensed under the MIT License.
- Thank you, Yas. 🙏🏽 Maybe make it a microservice? 😎 — Rebel Recruiters
- OpenAI for providing the powerful GPT-3.5-turbo language model
- PyPDF2 for simplifying the extraction of text from PDF documents
- Gradio for enabling the creation of interactive web interfaces
(c) 2024 Finbarrs Oketunji.
Developed at LincolnHack 2024 in collaboration with Digital Lincoln — Lincolnshire 🇬🇧