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: venvScriptsactivate
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
|-- 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 dependenciesRun 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.
This project is licensed under the MIT License. See the LICENSE file for more details.