{"id":22505531,"url":"https://github.com/dharmendradiwaker/multi-domain-chatbot","last_synced_at":"2025-07-29T02:05:33.111Z","repository":{"id":258318958,"uuid":"859784097","full_name":"dharmendradiwaker/Multi-Domain-chatbot","owner":"dharmendradiwaker","description":"The Multi-Domain Q\u0026A Chatbot allows users to upload files, store data as vector embeddings in ChromaDB, and ask questions based on the content. It provides answers with references to the page and file name, while also supporting general conversations.","archived":false,"fork":false,"pushed_at":"2024-11-20T16:54:30.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T23:27:20.852Z","etag":null,"topics":["chatbot","chromadb","langchain-python","python"],"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/dharmendradiwaker.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-09-19T09:17:48.000Z","updated_at":"2024-11-20T16:57:56.000Z","dependencies_parsed_at":"2025-02-02T01:28:09.266Z","dependency_job_id":"fbddacd3-a2fa-475f-91a5-2c0f86ab53bb","html_url":"https://github.com/dharmendradiwaker/Multi-Domain-chatbot","commit_stats":null,"previous_names":["dharmendradiwaker/chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dharmendradiwaker/Multi-Domain-chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmendradiwaker%2FMulti-Domain-chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmendradiwaker%2FMulti-Domain-chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmendradiwaker%2FMulti-Domain-chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmendradiwaker%2FMulti-Domain-chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dharmendradiwaker","download_url":"https://codeload.github.com/dharmendradiwaker/Multi-Domain-chatbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dharmendradiwaker%2FMulti-Domain-chatbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267617643,"owners_count":24116208,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","chromadb","langchain-python","python"],"created_at":"2024-12-07T00:20:15.767Z","updated_at":"2025-07-29T02:05:33.091Z","avatar_url":"https://github.com/dharmendradiwaker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Multi-Domain Question-Answering Chatbot 🚀  \n\nWelcome to the **Multi-Domain Q\u0026A Chatbot**! This chatbot provides an intuitive way to upload files, extract knowledge, and ask questions, all while maintaining a user-friendly experience.  \n\n---\n\n## ✨ Features  \n\n1. **👤 User Profile Management**:  \n   - Collects the user's **name** and **email** to create a personalized JSON file.  \n   - Stores user information for better interaction and future use.  \n\n2. **📂 File Uploads**:  \n   - Supports file uploads in **three domains** (specific domains, e.g., Finance, Healthcare, Education).  \n   - Processes and extracts data from the uploaded files.  \n\n3. **🧠 ChromaDB Vector Storage**:  \n   - Converts file data into embeddings and saves it in a **ChromaDB** database.  \n   - Enables fast and efficient knowledge retrieval for Q\u0026A.  \n\n4. **❓ Smart Question Answering**:  \n   - Users can ask questions related to the uploaded files.  \n   - Provides detailed answers, including **page numbers** and **file names** for reference.  \n\n5. **📜 General Chat Capabilities**:  \n   - Engages with users in a friendly manner when questions are unrelated to the files (e.g., \"Hi!\" or \"Good morning!\").  \n   - Responds with `\"I don't know the answer to that based on the document.\"` if no context is available.  \n\n---\n\n## 🛠️ How It Works  \n\n1. **User Onboarding**:  \n   - The chatbot takes the user's **name** and **email** and saves it in a JSON file for personalization.  \n\n2. **File Upload \u0026 Processing**:  \n   - Users upload files in the supported domains.  \n   - The chatbot processes the files, extracts information, and stores embeddings in a ChromaDB database.  \n\n3. **Ask Questions**:  \n   - Users ask questions about the uploaded files.  \n   - The chatbot retrieves relevant information from the database and provides detailed answers with references (page number and file name).  \n\n4. **General Chat**:  \n   - For non-file-related questions, the chatbot engages in polite conversation or provides a fallback response.\n\n---\n\n## 📦 Installation  \n\n1. **Clone the Repository**:  \n   ```bash\n   git clone https://github.com/dharmendradiwaker/Multi-Domain-chatbot.git\n   cd multi-domain-chatbot\n   ```\n\n2. **Install Dependencies**:  \n   Ensure you have Python installed, then run:  \n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. **Set Up ChromaDB**:  \n   - Install and configure ChromaDB as your vector storage solution.  \n\n4. **Run the Chatbot**:  \n   ```bash\n   python app.py\n   ```\n\n---\n\n## 💻 Example Usage  \n\n1. **Step 1**: Provide your name and email.  \n   ```\n   User: John.\n   email: john@gmail.com\n   ```\n\n2. **Step 2**: Upload files.  \n   ```\n   User: Upload a file (e.g., finance_report.pdf).\n   Chatbot: Your file 'finance_report.pdf' has been processed and stored.\n   ```\n\n3. **Step 3**: Ask questions.  \n   ```\n   User: What is the revenue in Q3?\n   Chatbot: The revenue in Q3 is $1,000,000 (Page 5, finance_report.pdf).\n   ```\n\n4. **Step 4**: General conversation.  \n   ```\n   User: Good morning!\n   Chatbot: Good morning! How can I assist you today?\n   ```\n\n---\n\n## 🎯 Key Benefits  \n\n- 🔍 **Accurate References**: Answers include **page numbers** and **file names** for transparency.  \n- 🌐 **Multi-Domain Support**: Handles files from multiple domains seamlessly.  \n- ⚡ **Fast Retrieval**: Leverages ChromaDB for quick and accurate knowledge extraction.  \n- 🤝 **User-Friendly**: Saves user details for personalization and remembers preferences.  \n\n---\n\n## 🤝 Contributions  \n\nWe welcome contributions! To get started:  \n1. Fork the repository 🍴  \n2. Create a new branch 🚀  \n3. Submit a pull request 📬  \n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdharmendradiwaker%2Fmulti-domain-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdharmendradiwaker%2Fmulti-domain-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdharmendradiwaker%2Fmulti-domain-chatbot/lists"}