Jobbot | 🤖
📊✅JobBot is A TG LLM chatbot that scrape job offers and recommend the most accurate to the user 📝🎤
Is a Telegram LLM-powered chatbot designed to simplify your job search. It scrapes the latest job postings from LinkedIn based on your specified keywords, then uses a hybrid recommendation system to identify the most relevant opportunities. This system leverages vector databases, business heuristics, and NLP techniques like keyword extraction and language identification, enhanced with Open CLIP embeddings for state-of-the-art semantic understanding. JobBot delivers personalized job recommendations directly to your Telegram, streamlining your job hunt and connecting you with the best-matched roles.
- Web scraper: The more recent job offers are scraped from linkedin to recommend the best offers for you, according to the key words given, in Docker container that could be run before to run the recomendation system
- Exploratory Data Analysis: It was made by default the exploratory data análisys for scraped job offers
- Data Augmentation: Based on the job offers content is added some feature to use them on recommendation filters
- Telegram API Integration: Communicates with candidates via Telegram, providing a familiar and convenient interface 📱
- Hybrid Recommendation System: Recommends jobs to candidates Filtering based on knowledge, and content filters, using vector databases, business heuristics, and NLP tasks
- Natural Lenguaje Procesing: Taking NLP features to extract keywords from the job descriptions and identifi the language of each offer
- Open CLIP: Use embeddings from Open clip repository using state of the art of Natural Lenguaje Procesing techniches
This section details the expected data formats for JobBot to function correctly. Provide clear examples and explanations for each data type:
How should job descriptions be formatted (e.g., plain text, HTML, specific fields)?
[]How should job descriptions be formatted (e.g., plain text, HTML, specific fields)?
[]What information is required for candidate profiles (e.g., resume/CV parsing, structured data)? 🧑💼
[]The structure and format for interview scripts generated by JobBot.
[]Specify the format for any other data used by JobBot, such as training data for models or configuration files.
[]Specify the format for any other data used by JobBot, such as training data for models or configuration files.
[]- Python 3.12: Make sure you have a compatible version of Python installed. 🐍
- Docker installed
- Do not forget to set the
.envfile it is not ignored on the repo
- Clone the repository:
git clone https://github.com/DLesmes/jobbot.git
- Install dependencies: Set Up Python Virtual Environment with the requirements_local.txt:
Use this command to install torch related dependencies, or use you custom command according to you machine details
python3 -m venv venv source venv/bin/activate python3 -m pip install -r requirements_local.txtsource venv/bin/activate pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu - run the scraper To run the scraper, ensure do you have the keywords file no empty, the env file updated and then you can run the container:
sudo docker compose up
- Run the application: Run the Server 🚀
python3 main.py
Feel free to contribute and make this chatbot project even better! We welcome contributions from the community! If you'd like to contribute, please follow these steps:
- Fork this repository
- Create a new branch:
git checkout -b feature/YourFeatureName - Make your changes and commit them:
git commit -am 'Add some feature' - Push to the branch:
git push origin feature/YourFeatureName - Create a pull request We look forward to your contributions!
For questions, suggestions, or collaboration opportunities, feel free to contact me:

I hope this enhanced README helps you get started with JobBot! 🎉
