This project is a Cold Email Generator built using Groq Cloud, ChromaDB, Langchain, Llama3.1 LLM, and Streamlit. It helps software and AI services companies automatically generate personalized cold emails for job opportunities posted on websites. The system extracts relevant job details from a given URL and tailors the email using user input such as their name, designation, and company details.
- Cold Email Generation: Automatically generate personalized cold emails based on job listings.
- Job Data Extraction: Extract job roles, skills, and experience requirements from a provided job URL.
- Portfolio Integration: Showcase company portfolio based on extracted skills.
- User Personalization: Allow users to input their name, designation, and company details for a personalized email.
- Groq Cloud: LLM backend for powerful language model processing.
- ChromaDB: Vector database to store and query portfolio links.
- Langchain: A framework for building language model-powered applications.
- Llama 3.1 LLM: Language model for generating emails and processing job data.
- Streamlit: Frontend for user input and email output visualization.
- Clone the repository:
git clone https://github.com/arya-io/email-generator.git cd email-generator
- Install required dependencies:
pip install -r requirements.txt
- Set up Groq API Key:
-
Create an account on Groq Cloud and obtain an API key.
-
Store the API key in
secrets.toml
:groq_api_key = "your_groq_api_key"
- Prepare your portfolio CSV file (
my_portfolio.csv
) containing the tech stack and portfolio links.
-
Run the Streamlit app:
streamlit run app.py
-
Open the app in your browser at
http://localhost:8501
. -
Input the following:
- Your Name: Name of the person sending the email.
- Designation: Job title or role of the person.
- Company Name: The name of the company you are representing.
- Job Listing URL: The URL of the job listing you want to apply to.
- Click Submit to generate the cold email tailored to the job listing.
- app.py: Main entry point that initializes the Streamlit app and handles user inputs.
- chains.py: Contains the logic for interacting with the Groq Cloud LLM, extracting job data, and generating emails.
- portfolio.py: Manages the company portfolio and queries relevant links based on job skills.
- utils.py: Contains utility functions for cleaning and sanitizing input text.
This project is licensed under the MIT License - see the LICENSE file for details.