A Python package for ingesting job descriptions & resumes, and crafting cover letters that use the latter to satisfy the former.
The process leverages GPT-4 to first extract relevant job description features, grabbing corresponding features from the resume, and then looping between (1) generating a cover letter that uses the resume to satisfy the job description and (2) critiquing the cover letter in question. A state diagram follows:
stateDiagram-v2
direction TB
state "Extract key requirements" as JD_Extract
state "Pull relevant item from resume" as Resume
state "Write a cover letter draft" as Write
state "Review and get feedback on draft" as Review
[*] --> JD_Extract
JD_Extract --> Resume
Resume --> Draft
state Draft {
Review --> Write
Write --> Review
}
Draft --> [*]
pip install cover_letter_automation
This should make make-cover-letter
command available on your command line. You can then run the
following:
make-cover-letter path/to/json/resume.json path/to/jd.md
This will generate a cover letter for the job description in path/to/jd.md
using the resume in
path/to/json/resume.json
. The full chat will be printed to the console, as will the estimated chat
cost.
Currently, due to the slightly ad-hoc nature of the agents, you'll need to run the above command for
each job description you want to generate a cover letter for. The cover letters will be placed in
cover_letters/
, a folder which will be created for you in your current working direcroty.
See make-cover-letter --help
for a full set of options.
You will need to add your OpenAI API key (and, optionally, Bing API key) to the environment as
OPENAI_API_KEY
and BING_API_KEY
, or pass them as CLI options.
You can grab your Bing API key here, though do be warned that the volume of requests the agent will want to make possibly exceeds the free tier. If you don't have a Bing API key, we'll automatically skip the web-search step.
Note that CompanyResearcher
is mostly broken and doesn't work, so not setting the BING_API_KEY
is fine.
️⚡️ Scaffolded with Copier.
See Poetry Copier.
🛠️ Open an issue if you have any questions or suggestions.
See how to develop with PyCharm or any other IDE.