Cover Letter Builder is a tool designed to help users quickly generate professional cover letters tailored to specific job positions.
AI_CoverLetter.Builder.mp4
To use this project, you need Python 3.10+. Follow these steps to set up the environment:
git clone https://github.com/ajay-paul/Cover-Letter-Builder.git
cd Cover-Letter-Builder-
Create and activate a virtual environment (optional but recommended):
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Download and configure the LLaMA model:
- You may follow here to setup Ollama and LLaMA model for language processing.
-
Web Driver Setup for Selenium:
- Selenium requires a web driver to control browsers.
Edge WebDriver comes pre-installed on Windows. Ensure your Edge and WebDriver versions match:
- Check your Edge version under Settings > About Microsoft Edge.
- Download the matching WebDriver from Microsoft Edge WebDriver if needed.
- Add WebDriver to your system PATH.
- Download the ChromeDriver matching your Chrome version.
- Unzip and add it to your PATH.
- Download GeckoDriver.
- Extract and add it to your PATH.
⚠️ Note:
If you're using a web driver other than Edge, make sure to import the appropriate driver.
-
Tesseract OCR:
- For Tesseract, you may need to install it separately.
- Windows: Download the installer from Tesseract OCR's official website and follow the installation instructions.
- macOS: Install via Homebrew:
brew install tesseract
- Linux: Install via your package manager:
- For Ubuntu/Debian:
sudo apt-get install tesseract-ocr
- After installation, make sure to add Tesseract to your system's PATH.
- For Ubuntu/Debian:
-
Define URL in
const.py:- Update the
const.pyfile with the appropriate URL for the model to access necessary resources.
- Update the
-
Configure Your Profile Information:
- Customize your profile with details such as Experience, Skills, and other relevant information in
const.pyto tailor the cover letter content.
- Customize your profile with details such as Experience, Skills, and other relevant information in
-
Add Custom Prompt in
model.py:- You can provide an additional prompt to the model in the
model.pyfile. For example:
response = ollama.chat( model='llama3.2', messages=[ { 'role': 'user', 'content': ( 'Based on the web-scraped data, write a cover letter in English for the position. ' 'You may start with my address, then the company address at the top, then ' 'start with "Hello Recruiting Team,":\n ' 'Show my deep motivation for the position\n ' f'{job_description}.\n' 'Additional information about myself:\n' f'{PROFILE}\n' 'Tailor the application to align closely with the specific requirements outlined in the job description.\n' 'Job found on your career page.\n' ), }, ] )
- You can provide an additional prompt to the model in the
Navigate to the project directory and run the main file:
cd Cover-Letter-Builder
python -m src.mainThis project is licensed under the MIT License - see the LICENSE file for details.
