{"id":15165792,"url":"https://github.com/urooj-akmal/onboarding-chatbot","last_synced_at":"2025-04-04T04:31:44.879Z","repository":{"id":254147796,"uuid":"845633779","full_name":"urooj-akmal/Onboarding-Chatbot","owner":"urooj-akmal","description":"A Flask-based onboarding chatbot utilizing Retrieval-Augmented Generation (RAG) with Llama 3.1:8b, powered by LangChain. Designed to assist new employees with onboarding tasks through intelligent, context-aware responses.","archived":false,"fork":false,"pushed_at":"2024-08-22T15:36:43.000Z","size":611,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T02:23:48.189Z","etag":null,"topics":["chatbot","flask","langchain","llama3","local-development","ollama","onboarding","rag"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urooj-akmal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-21T16:14:26.000Z","updated_at":"2025-03-18T11:24:58.000Z","dependencies_parsed_at":"2024-08-21T18:22:09.937Z","dependency_job_id":"56f1f9dc-ef09-4af7-9958-55ae79792a65","html_url":"https://github.com/urooj-akmal/Onboarding-Chatbot","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"81ff75260c1ce5efa8b1282885c678e1dec1a30b"},"previous_names":["urooj-akmal/flask-onboarding-chatbot-rag-llama3.1-8b-langchain"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urooj-akmal%2FOnboarding-Chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urooj-akmal%2FOnboarding-Chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urooj-akmal%2FOnboarding-Chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urooj-akmal%2FOnboarding-Chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urooj-akmal","download_url":"https://codeload.github.com/urooj-akmal/Onboarding-Chatbot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123075,"owners_count":20887259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","flask","langchain","llama3","local-development","ollama","onboarding","rag"],"created_at":"2024-09-27T04:02:45.739Z","updated_at":"2025-04-04T04:31:39.863Z","avatar_url":"https://github.com/urooj-akmal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-Onboarding-Chatbot-RAG-Llama3.1-8b-LangChain\nThe project was initiated to streamline the onboarding process for new employees by offering an automated, 24/7 support system capable of answering common questions, providing guidance on company facilities, and assisting with extensions. Leveraging state-of-the-art technologies such as the Llama3.1:8b model and FAISS Database and Langchain for efficient information retrieval, this chatbot is designed to significantly reduce the workload on HRstaff while enhancing the overall onboarding experience. The implementation of this chatbot is expected to reduce HR's involvement in routine queries by up to 50%, improve new hire satisfaction, and facilitate smoother integration into the company.\n## Technologies\nFlask\n\nRetrieval-Augmented Generation (RAG)\n\nOllama\n\nLlama 3.1:8b\n\nLangChain\n\nChroma (Vector Database)\n\n## Complete Step-by-Step Guide: Onboarding Chatbot with Ollama\n\nThis guide walks you through setting up and running the onboarding chatbot utilizing Ollama and Flask.\n\n**Prerequisites:**\n\n* **Python 3.12.4:** Ensure you have Python 3.12 or later installed. Check by running `python --version` in your terminal.\n\n**1. Install Ollama:**\n\n- Ollama allows you to run large language models (LLMs) locally.\n- It's available for Windows, macOS, and Linux.\n\n**Download Links:**\n\n- https://ollama.com/download\n\n**Installation Instructions:**\n\n   **a. Windows:**\n\n      1. Download the Ollama executable from the link above.\n      2. Double-click the downloaded file (e.g., `ollama-setup.exe`).\n      3. Follow the on-screen installation instructions.\n\n   **b. macOS:**\n\n      1. Download the Ollama application from the link above.\n      2. Unzip the downloaded file.\n      3. Drag the `Ollama.app` folder to your Applications directory.\n\n   **c. Linux:**\n\n      1. Open your terminal.\n      2. Run the following command:\n\n         ```bash\n         curl -fsSL https://ollama.com/install.sh | sh\n         ```\n**2. Pull the Ollama Model:**\n\nBefore starting the chatbot, download the desired LLM model using Ollama. \n\n- The chatbot uses the Llama 3.1:8b model (requires 4.7GB of space).\n- Run the following command in your terminal:\n\n```bash\nollama pull llama3.1:8b\n```\n\n**3. Start the Ollama Backend:**\n\n- Start the Ollama backend server to make the language model available for the chatbot:\n  - using the command line, run:\n\n      ```bash\n      ollama start\n      ```\n\n**4. Clone the Repository:**\n\nOnce Ollama is installed, clone the chatbot repository from GitHub:\n\n```bash\ngit clone https://github.com/urooj-akmal/Onboarding-Chatbot\n```\n\n\n**5. Install Dependencies:**\n\nNavigate to the cloned repository directory:\n\n```bash\ncd Onboarding-Chatbot\n```\n\nInstall the necessary Python libraries using the `requirements.txt` file:\n\n```bash\npip install -r requirements.txt\n```\n\n**6. Prepare Your Data:**\n\n- Gather the PDF documents that you want the chatbot to be able to answer questions from.\n- Ensure these PDFs are in a well-organized format within a specific directory (e.g., `data`).\n\n**7. Populate the Database:**\n\n- Run the `POPULATE_DATABASE` script to process the PDFs and populate the Chroma database with relevant information.\n     ```bash\n   python populate_database.py\n   ```\n  \n**7. Set Up Environment Variables:**\n\nThe application uses a few environment variables:\n\n* **CHROMA_PATH:** Path to the directory where the Chroma database will be stored. \n\n**Here's an example of setting these variables in your terminal:**\n\n```bash\nexport CHROMA_PATH=~/chatbot_data  # Replace with your desired path\n```\n\n**8.  Run the Flask App:**\n\n- With Ollama running, execute the Flask application to launch the chatbot:\n\n   ```bash\n   python app.py\n   ```\n\n   This will start the chatbot server, typically running on port 5000 by default.\n\n**9. Access the Chatbot:**\n\n- Open a web browser and navigate to `http://localhost:5000/`.\n- You should now see the onboarding chatbot interface.\n\n**Additional Notes:**\n\n* Ensure your local web server (likely running on port 5000) is accessible. You might need to configure your firewall or router settings if it's not accessible from your local network.\n\nBy following these steps, you'll have your onboarding chatbot set up and ready to assist new employees with their inquiries!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furooj-akmal%2Fonboarding-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furooj-akmal%2Fonboarding-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furooj-akmal%2Fonboarding-chatbot/lists"}