Skip to content

πŸš€ Leverage the power of LLM to improve your resume. Build a Streamlit application powered by Langchain, OpenAI and Google Generative AI.

Notifications You must be signed in to change notification settings

VinayChaudhari1996/RagOpenaiGeminiPro

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”Ž Resume scanner: πŸš€ Leverage the power of LLM to improve your resume

πŸš€ Build a Streamlit application powered by Langchain, OpenAI and Google Generative AI

Image generated by Leonardo.ai

Table of Contents

  1. Project Overview
  2. Installation
  3. File Descriptions
  4. Instructions
  5. Screenshots

Project Overview

The aim of this project is to build a WEB application in Streamlit that will scan and improve a resume using instruction-tuned Large Language Models (LLMs).

We leveraged the power of LLMs, specifically Chat GPT from OpenAI and Gemini-pro from Google, to extract, assess, and enhance resumes.

We used Langchain, prompt engineering and retrieval augmented generation techniques to complete these steps.

Installation

This project requires Python 3 and the following Python libraries installed:

streamlit, langchain ,langchain-openai, langchain-google-genai, faiss-cpu, tiktoken, python-dotenv, pdfminer, markdown

The full list of requirements can be found in requirements.txt

File Descriptions

  • Streamlit_App folder: contains the Streamlit application.

    • requirements.txt: contains the required packages for installation.
    • keys.env: Your OpenAI, Gemini, and Cohere API keys are stored here.
    • llm_functions.py: reads LLM API keys from keys.env and instantiates the LLM in Langchain.
    • retrieval.py: the script used to create a Langchain retrieval, including document loaders, embeddings, vector stores, and retrievers.
    • app_constants.py: contains templates for creating LLM prompts.
    • app_sidebar.py: the sidebar is where you can choose the LLM model and its parameters, such as temperature and top_p values, and enter your API keys.
    • resume_analyzer.py: this file contains the functions used to extract, assess, and improve each section of the resume using LLM. It is the core of the application.
    • pp_display_results.py: the script used to display resume sections, assessments, scores, and improved texts.
    • app.py: It's the main script of the app. It calls all the scripts and is used to run the Streamlit application.
  • Notebooks folder: contains the project's notebook.

Instructions

To run the app locally:

  1. Create a virtual environment: python -m venv virtualenv

  2. Activate the virtual environment :

    Windows: .\virtualenv\Scripts\activate

    Linux: source virtualenv/bin/activate

  3. Install the required dependencies pip install -r requirements.txt

  4. Add your OpenIA, Gemini, and Cohere API keys to the keys.env file. You can get your API keys from their respective websites.

  1. Start the app: streamlit run ./Streamlit_App/app.py
  2. Select the LLM provider (either OpenAI or Google Generative AI) from the sidebar. Then, choose a model (GPT-3.5, GPT-4 or Gemini-pro) and adjust its parameters.
  3. Use the file uploader widget to upload your resume in PDF format.
  4. πŸš€ To analyze and improve your resume, simply click the 'Analyze resume' button located in the main panel.

Screenshots

Here is a screenshot of the application.


The results of the resume analysis and improvement are shown below.

First, the resume's overview, top 3 strengths, and top 3 weaknesses are displayed.


The scores are then displayed to give a general indication of the resume's quality. The resume is evaluated based on eight sections, each scored out of 100: contact information, summary, work experience, skills, education, language, projects, and certifications.

Finally, the analysis of each section is presented in a st.expander. For instance, here is how the work experience is displayed.

About

πŸš€ Leverage the power of LLM to improve your resume. Build a Streamlit application powered by Langchain, OpenAI and Google Generative AI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 78.8%
  • Python 21.2%