Resume search using natural queries . Demo application using openai RAG api and opensource VLM model to do resume comparative analysis.
This would help talent partners and engineering managers to get specific information from the resume.
Objective of resume intelligence would be to support natural language query on a set of resumes . It can be used to do comparative analysis of resumes . Let us say , that we have 4 or 5 resumes of prospective software engineers Some of the query , which it should allow you to fire are
- Does any of the candidates have team management experience ?
- Who has more experience in java and docker in set of resumes ?
In this experiment , you need resumes.
Instead of searching for data from internet , i have used chagpt api to generate a resume .
I used openai function call and structured response output to get json output.
Once you have json , you can convert it into pdf resume document.
OPENAI_KEY=<substitute your key>
# Install python packages locally.
pip install -r requirements.txt
python ui_show_resume.py
This example can be run on local windows machine/laptop.
It does not have special requirement in terms of GPU
You need to select 2 resumes from UI application , type in the query in prompt box.
and hit submit.
User needs to key in openai key in .env file which is present in root of the folder.
OPENAI_KEY=<substitute your key>
python ui_resume_compare2.py
Here i use RAG approaches
-
RAG - with openai openai has assistant api , which has option of storing the vector representation of document and searching against the same . Refer here for documentation File Search On how to use file search api , i referred simon wilson's excellent blog and gist he made sample code
-
RAG - with opensource colpali This is approach of using VLM . I plan to use Byaldi which internally uses colpali Refer to notebook , which has sample code chat with pdf using byaldi I am yet to implement this.
This is a straightforward approach .I use openai apis to create a vector store and add all pdf documents to vector store . post that create a assistant and attach vector store to assistant
openai file search , seems to be not working well , for queries which is touching multiple documents . One solution seems to be concatenating multiple documents into a single document. This seems to be true at nov 2023 as per this blog openai assistant for RAG . This hack also is needed in 2024.