Resume search using natural queries . Demo application using openai RAG api and opensource VLM model to do resume analysis.
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 ?
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_compare.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.