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 ACM Digital Library 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, fixes, feedbacks, and feature requests can be reported on the GitHub issues page.

Empower others, just like they helped you! Contribute to this open source project & make a difference. ✨ Create a branch, improve the code, & raise a pull request!

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. References

1.3. Refer to this Paper 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. If you want to run ollama models
    ollama pull llama3.1
    
  6. 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

3. Citations

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

@inproceedings{10.1145/3626772.3657680,
author = {Zinjad, Saurabh Bhausaheb and Bhattacharjee, Amrita and Bhilegaonkar, Amey and Liu, Huan},
title = {ResumeFlow: An LLM-facilitated Pipeline for Personalized Resume Generation and Refinement},
series = {SIGIR '24},
booktitle = {Proceedings of the 47th International ACM SIGIR Conference on Research and Development in Information Retrieval},
publisher = {Association for Computing Machinery},
doi = {10.1145/3626772.3657680},
url = {https://doi.org/10.1145/3626772.3657680},
year = {2024},
isbn = {9798400704314},
location = {Washington DC, USA},
address = {New York, NY, USA},
}
@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.

5. TODO

Need to find way to install following command in streamlit

ollama
playwright
"ollama pull llama3.1"
"ollama pull bge-m3"

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.35.tar.gz (167.6 kB view details)

Uploaded Source

Built Distribution

zlm-0.1.35-py3-none-any.whl (146.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zlm-0.1.35.tar.gz
  • Upload date:
  • Size: 167.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.1 Darwin/23.4.0

File hashes

Hashes for zlm-0.1.35.tar.gz
Algorithm Hash digest
SHA256 03c176aa05a6de2153ddfaad75628ce8fb265406656139669b51d2141d554aaa
MD5 f4177d1b52ceb6bd4eee503d8dcfd643
BLAKE2b-256 fb465e612ecd75d64d7b965c3fb140841318ef5b591f717e28da3e37b7007574

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zlm-0.1.35-py3-none-any.whl
  • Upload date:
  • Size: 146.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.1 Darwin/23.4.0

File hashes

Hashes for zlm-0.1.35-py3-none-any.whl
Algorithm Hash digest
SHA256 4a5d95db50fb5776612d9dd31869a646d172864fab8144be6d83fb9b09ca93f5
MD5 0933f2a4416818b0bc9a02fb3a5bd04e
BLAKE2b-256 225ad0905742fedcf1928bbb51715e7471af5ecfa58d4669e2c62efe513f6af3

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