Skip to content
/ jobbot Public

A TG LLM chatbot that scrape job offers and recommend the most accurate to the user

License

Notifications You must be signed in to change notification settings

DLesmes/jobbot

Repository files navigation

Jobbot | 🤖

📊✅JobBot is A TG LLM chatbot that scrape job offers and recommend the most accurate to the user 📝🎤

🙏Overview

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.

Features

  • 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

❇️ Data Format

This section details the expected data formats for JobBot to function correctly. Provide clear examples and explanations for each data type:

📄 Raw scraped Job offers:

How should job descriptions be formatted (e.g., plain text, HTML, specific fields)?

[]

👔 Job offers:

How should job descriptions be formatted (e.g., plain text, HTML, specific fields)?

[]

🖋️ Key words:

What information is required for candidate profiles (e.g., resume/CV parsing, structured data)? 🧑‍💼

[]

📚 General skills:

The structure and format for interview scripts generated by JobBot.

[]

👩‍🏫 job seekers:

Specify the format for any other data used by JobBot, such as training data for models or configuration files.

[]

🔖 matches:

Specify the format for any other data used by JobBot, such as training data for models or configuration files.

[]

💎 Prerequisites

  • Python 3.12: Make sure you have a compatible version of Python installed. 🐍
  • Docker installed
  • Do not forget to set the .env file it is not ignored on the repo

Getting Started

  1. Clone the repository:
    git clone https://github.com/DLesmes/jobbot.git
  2. Install dependencies: Set Up Python Virtual Environment with the requirements_local.txt:
     python3 -m venv venv
     source venv/bin/activate
     python3 -m pip install -r requirements_local.txt
    Use this command to install torch related dependencies, or use you custom command according to you machine details
    source venv/bin/activate
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
  3. 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
  4. Run the application: Run the Server 🚀
     python3 main.py

👔 Contributing

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!

🇨🇴 Contact

For questions, suggestions, or collaboration opportunities, feel free to contact me:

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

About

A TG LLM chatbot that scrape job offers and recommend the most accurate to the user

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •