{"id":28863167,"url":"https://github.com/garbii1/personal-data-assistant-chatbot","last_synced_at":"2026-04-28T21:34:10.836Z","repository":{"id":299669326,"uuid":"1003139449","full_name":"Garbii1/personal-data-assistant-chatbot","owner":"Garbii1","description":"Create your own Retrieval-Augmented Generation (RAG) chatbot for PDFs. This project uses LangChain, Flask, and an LLM (IBM WatsonX/Hugging Face) to build a conversational AI that understands your documents.","archived":false,"fork":false,"pushed_at":"2025-06-17T17:06:35.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T18:23:05.104Z","etag":null,"topics":["ai","chatbot","chroma","document-qa","flask","hugging-face","langchain","large-language-models","llm","natural-language-processing","pdf-chatbot","personal-data-assistant","python","rag","retrieval-augmented-generation","watsonx","web-application"],"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/Garbii1.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,"zenodo":null}},"created_at":"2025-06-16T17:25:33.000Z","updated_at":"2025-06-17T17:14:10.000Z","dependencies_parsed_at":"2025-06-17T18:33:40.593Z","dependency_job_id":null,"html_url":"https://github.com/Garbii1/personal-data-assistant-chatbot","commit_stats":null,"previous_names":["garbii1/personal-data-assistant-chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Garbii1/personal-data-assistant-chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garbii1%2Fpersonal-data-assistant-chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garbii1%2Fpersonal-data-assistant-chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garbii1%2Fpersonal-data-assistant-chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garbii1%2Fpersonal-data-assistant-chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Garbii1","download_url":"https://codeload.github.com/Garbii1/personal-data-assistant-chatbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Garbii1%2Fpersonal-data-assistant-chatbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260898761,"owners_count":23079263,"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":["ai","chatbot","chroma","document-qa","flask","hugging-face","langchain","large-language-models","llm","natural-language-processing","pdf-chatbot","personal-data-assistant","python","rag","retrieval-augmented-generation","watsonx","web-application"],"created_at":"2025-06-20T07:02:05.192Z","updated_at":"2026-04-28T21:34:10.808Z","avatar_url":"https://github.com/Garbii1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Personal Data Assistant Chatbot\n\nWelcome to your own **PDF-powered AI Chatbot**! This project helps you build a smart, document-aware chatbot using Flask, LangChain, and modern LLMs. Upload a PDF, ask questions, and get instant, context-aware answers—all through a beautiful web interface.\n\n---\n\n## 🌟 Features\n- **Chat with your PDFs**: Upload any PDF and ask questions about its content.\n- **Modern UI**: Clean, responsive frontend with light/dark mode.\n- **Flexible LLM Backend**: Use IBM WatsonX or Hugging Face models.\n- **Fast \u0026 Private**: All processing happens locally or in your own cloud.\n- **Easy Deployment**: Run locally or with Docker in minutes.\n\n---\n\n## 📋 Table of Contents\n- [Getting Started](#getting-started)\n- [How It Works](#how-it-works)\n- [Running the Application](#running-the-application)\n- [Docker Deployment](#docker-deployment)\n- [Switching to Hugging Face](#switching-to-hugging-face)\n- [Project Structure](#project-structure)\n- [License](#license)\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n- Python 3.x\n- `pip` and `virtualenv`\n- `git`\n\n### Installation\n```bash\n# Clone the repository\n$ git clone https://github.com/Garbii1/personal-data-assistant-chatbot.git\n$ cd personal-data-assistant-chatbot/build_chatbot_for_your_data\n\n# Create and activate a virtual environment\n$ pip install virtualenv\n$ virtualenv my_env\n# On Windows:\n$ my_env\\Scripts\\activate\n# On macOS/Linux:\n$ source my_env/bin/activate\n\n# Install dependencies\n$ pip install -r requirements.txt\n$ pip install langchain-community\n```\n\n---\n\n## ⚙️ How It Works\n\n### 🖥️ Frontend\n- **`index.html`**: Chat interface layout\n- **`static/style.css`**: Modern, responsive styles (light/dark mode)\n- **`static/script.js`**: Handles chat, file upload, and UI events\n\n### 🧠 Backend\n- **`worker.py`**: Handles PDF processing, embeddings, and LLM queries\n- **`server.py`**: Flask server, API endpoints, and file handling\n\n#### Main Flow\n1. **Upload PDF** → Processed \u0026 split into chunks\n2. **Embeddings** → Chunks stored in a vector database (Chroma)\n3. **Ask Questions** → LLM retrieves relevant info and answers\n\n---\n\n## ▶️ Running the Application\n```bash\n$ python server.py\n```\nVisit [http://127.0.0.1:8000](http://127.0.0.1:8000) in your browser. Upload a PDF and start chatting!\n\n---\n\n## 🐳 Docker Deployment\n```bash\n# Build the Docker image\n$ docker build . -t build_chatbot_for_your_data\n\n# Run the container\n$ docker run -p 8000:8000 build_chatbot_for_your_data\n```\nAccess at [http://127.0.0.1:8000](http://127.0.0.1:8000).\n\n---\n\n## ✨ Switching to Hugging Face LLM\n1. Install extra dependencies:\n   ```bash\n   pip install langchain==0.1.17 huggingface-hub==0.23.4\n   ```\n2. Get your Hugging Face API key from [huggingface.co](https://huggingface.co/settings/tokens)\n3. Edit `worker.py`:\n   - Replace the `init_llm()` function as shown in the code comments\n   - Set your API key and desired model (e.g., `mistralai/Mistral-7B-Instruct-v0.3`)\n\n---\n\n## 📁 Project Structure\n```\npersonal-data-assistant-chatbot/\n├── build_chatbot_for_your_data/\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   ├── server.py\n│   ├── worker.py\n│   ├── static/\n│   │   ├── script.js\n│   │   └── style.css\n│   └── templates/\n│       └── index.html\n├── my_env/ (virtual environment)\n└── README.md\n```\n\n---\n\n## 📄 License\nThis project is licensed under the MIT License. See the [LICENSE](build_chatbot_for_your_data/LICENSE) file for details.\n\n---\n\n\u003e **Made with ❤️ by Garbii1**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarbii1%2Fpersonal-data-assistant-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarbii1%2Fpersonal-data-assistant-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarbii1%2Fpersonal-data-assistant-chatbot/lists"}