CV Extractor uses LLamaIndex RAG to query your CV document with a set of query verbs such as List, Summarize and Extract. This is to assist job seekers in creating profiles on job board sites such as TradeMe and Seek.
- Upload a CV document
- Query your document using the verbs and keywords.Keywords such as 'experience', 'education' and 'skills' are included
- For instance 'List Experience' will return a list of your work experiences
- Each experience is its own card whose content can be copied
The lifecycle of the App is as follows:
- The user uploads CV, this document is passed to a supabase bucket.
- The user defines the query they want to carry out.
- Both the query and bucket Url is passed to the backend.
- The cv is pulled down into the server in a temp file, where it is parsed from pdf to a txt file.
- Once that is complete the server then uses LLamaIndex RAG to query the txt file.
- This extracted data is then sent up to the client.
The main goal was to learn more about RAG use and integration. Secondary goals included learning to store documents in a bucket instead of on the server and parsing pdf documents.
Here is a Demo of the App in action
screen-capture.5.webm
-
Clone the repository:
git clone https://github.com/mano-pihema/cv-extract.git
-
Change dir:
cd cv-extract
-
Create a .env file:
OPEN_AI_KEY=YOUR OPENAI KEY VITE_STORAGE_URL='YOUR SUPABASE URL' VITE_ANON_STORAGE_KEY='YOUR SUPABASE KEY'
-
Install dependencies:
npm install
-
Run App:
npm run dev