This project is designed to assist Business Development Officers by generating personalized outreach emails based on job descriptions scraped from websites. It utilizes LangChain for web scraping and document loading, a vector database for storing and retrieving relevant portfolios, and LLaMA 3.1 on Groq for identifying necessary elements from extrcated data and generating emails. This tool makes the task of reaching potential clients more efficient and streamlined.
This app scrapes job descriptions from a given URL, cleans the extracted text, and uses LLaMA 3.1 to extract relevant information such as job roles and required skills. The app then queries a vector database to find matching projects in the company's portfolio and generates a personalized outreach email that highlights the company's expertise in those areas.
Here’s a breakdown of the technologies and tools used in this project:
-
Clone this repository.
git clone https://github.com/username/outreach-email-agent.git
-
Navigate to the project directory.
cd outreach-email-agent
-
Set up a virtual environment and activate it.
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required packages.
pip install -r requirements.txt
-
Set up your
.env
file with your Groq API key:GROQ_API_KEY=<your-api-key> USER_AGENT=OutreachEmailAgent/1.0
- Scraping: Using LangChain, the app scrapes job descriptions from the input URL and cleans the extracted text.
- Inference: The cleaned text is processed by LLaMA 3.1 running on Groq to extract job roles, skills, and other relevant information.
- Vector Database Query: A ChromaDB vector database is used to store and retrieve project portfolios based on the extracted job requirements.
- Email Generation: The extracted data and matching portfolios are used to generate a personalized outreach email that the Business Development Officer can send to potential clients.
|-- app/
| |-- main.py # Main Streamlit app
| |-- chains.py # Logic for using LLaMA for inference
| |-- ChromaVectorDB.py # Vector database for project portfolios
| |-- utils.py # Utility functions for cleaning text
|-- venv/ # Virtual environment
|-- .env # Environment variables
|-- README.md # Project documentation
|-- requirements.txt # Python dependencies
-
Run the Streamlit app.
streamlit run app/main.py
-
Enter a job description URL, and the app will generate a tailored outreach email for business development purposes.
Walkthrough.of.the.app.mp4
This project is licensed under the MIT License. See the LICENSE file for more details.