Skip to main content

Simplify and improve your job hunting experience by integrating LLMs to automate tasks such as resume and cover letter generation, as well as application submission, saving users time and effort.

Project description

ResumeFlow: An LLM-facilitated Pipeline for Personalized Resume Generation and Refinement

Demo Page arxiv paper PyPI Latest Release PyPI Downloads GitHub issues open License: MIT

Click here to see image of "Auto Job Aligned Personalized Resume Generation Pipeline"
For Video Demonstration visit the YouTube link: https://youtu.be/Agl7ugyu1N4

Project can be:

All other known bugs and fixes can be sent to following emails with the subject "[BUG] JOB LLM". Reported bugs/fixes will be submitted to correction.

Author & Contributor List

1. Introduction:

1.1. Motivation: LLMs as Components in an ML Pipeline

In this project, we will investigate how to effectively use Large Language Models (LLMs) to automate various aspects of this pipeline.

Because, Solving a task using machine learning methods requires a series of steps that often require large amounts of human effort or labor. Furthermore there might be more steps after the training the ML model, such as evaluation, explaining the behavior of the model, interpreting model outputs, etc. Many of these steps are also often human labor intensive.

1.2. Our Proposal

We're aiming to create a automated system that makes applying for jobs a breeze. Job hunting has many stages, and we see a chance to automate things and use LLM (Language Model) to make it even smoother. We're looking at different ways, both the usual and some new ideas, to integrate LLM into the job application process. The goal is to reduce how much you have to do and let LLM do its thing, making the whole process easier for you.

1.3. Refer Project Report for more details.

2. Setup, Installation and Usage

2.1. Prerequisites

2.2. Package Installation - Use as Library

pip install zlm
  • Usage
from zlm import AutoApplyModel

job_llm = AutoApplyModel(
    api_key="PROVIDE_API_KEY", 
    provider="ENTER PROVIDER <gemini> or <openai>",
    downloads_dir="[optional] ENTER FOLDER PATH WHERE FILE GET DOWNLOADED, By default, 'downloads' folder"
)

job_llm.resume_cv_pipeline(
    "ENTER_JOB_URL", 
    "YOUR_MASTER_RESUME_DATA" # .pdf or .json
) # Return and downloads curated resume and cover letter.

2.4. Setup & Run Code - Use as Project

git clone https://github.com/Ztrimus/job-llm.git
cd job-llm
  1. Create and activate python environment (use python -m venv .env or conda or etc.) to avoid any package dependency conflict.
  2. Install Poetry package (dependency management and packaging tool)
    pip install poetry
    
  3. Install all required packages.
    • Refer pyproject.toml or poetry.lock for list of packages.
      poetry install
      
      OR
    • If above command not working, we also provided requirements.txt file. But, we recommend using poetry.
      pip install -r resources/requirements.txt
      
  4. We also need to install following packages to conversion of latex to pdf
    • For linux
      sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-fonts-extra
      
      NOTE: try sudo apt-get update if terminal unable to locate package.
    • For Mac
      brew install basictex
      sudo tlmgr install enumitem fontawesome
      
  5. Run following script to get result
>>> python main.py /
    --url "JOB_POSTING_URL" /
    --master_data="JSON_USER_MASTER_DATA" /
    --api_key="YOUR_LLM_PROVIDER_API_KEY" / # put api_key considering provider
    --downloads_dir="DOWNLOAD_LOCATION_FOR_RESUME_CV" /
    --provider="openai" # openai, gemini, together, g4f

3. Citations

If you find JobLLM useful in your research or applications, please consider giving us a star 🌟 and citing it.

@misc{zinjad2024resumeflow,
      title={ResumeFlow: An LLM-facilitated Pipeline for Personalized Resume Generation and Refinement}, 
      author={Saurabh Bhausaheb Zinjad and Amrita Bhattacharjee and Amey Bhilegaonkar and Huan Liu},
      year={2024},
      eprint={2402.06221},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

4. License

JobLLM is under the MIT License and is supported for commercial usage.

4. References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zlm-0.1.32.tar.gz (142.7 kB view details)

Uploaded Source

Built Distribution

zlm-0.1.32-py3-none-any.whl (147.2 kB view details)

Uploaded Python 3

File details

Details for the file zlm-0.1.32.tar.gz.

File metadata

  • Download URL: zlm-0.1.32.tar.gz
  • Upload date:
  • Size: 142.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0

File hashes

Hashes for zlm-0.1.32.tar.gz
Algorithm Hash digest
SHA256 86dded4659482ddea9a08f9b173059b9c0ea0182cc8654ff9a1adb34c501b229
MD5 fb4c8101761382110825b41540cf8633
BLAKE2b-256 784f448193242c913406e9910601e8ea302e38c9be4bf5e14c7730ce2bb7a059

See more details on using hashes here.

File details

Details for the file zlm-0.1.32-py3-none-any.whl.

File metadata

  • Download URL: zlm-0.1.32-py3-none-any.whl
  • Upload date:
  • Size: 147.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0

File hashes

Hashes for zlm-0.1.32-py3-none-any.whl
Algorithm Hash digest
SHA256 b2db7998f1a43cb67ce6560cf8d55d3276c72cf148cc2ca0b8a17cf42478f019
MD5 53fde94a436e7761859fc8e0e81f20aa
BLAKE2b-256 114ced2e6259e3b566c410bd78c0c10929cf280b679cfa7aa684187cd087bf6e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page