{"id":17513010,"url":"https://github.com/ganesh2409/ask-my-pdf","last_synced_at":"2026-02-13T00:31:55.545Z","repository":{"id":258634644,"uuid":"874312790","full_name":"Ganesh2409/ASK-MY-PDF","owner":"Ganesh2409","description":"Ask-My-Pdf is a user-friendly Streamlit application designed to enhance the way individuals interact with their PDF documents. Whether you're a student, researcher, or professional, this app provides powerful tools to simplify document management.","archived":false,"fork":false,"pushed_at":"2025-02-10T02:55:59.000Z","size":3278,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T21:45:31.621Z","etag":null,"topics":["chat-with-pdf","genai","langchain","python","qdrant"],"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/Ganesh2409.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-10-17T15:51:58.000Z","updated_at":"2025-03-21T12:42:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3a3845f-f6e5-457a-9716-62cfb590a1ce","html_url":"https://github.com/Ganesh2409/ASK-MY-PDF","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"3ab3078d7e8e326b6839f11ec6f27467f5dec987"},"previous_names":["ganesh2409/ask-my-pdf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ganesh2409/ASK-MY-PDF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ganesh2409%2FASK-MY-PDF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ganesh2409%2FASK-MY-PDF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ganesh2409%2FASK-MY-PDF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ganesh2409%2FASK-MY-PDF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ganesh2409","download_url":"https://codeload.github.com/Ganesh2409/ASK-MY-PDF/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ganesh2409%2FASK-MY-PDF/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259820786,"owners_count":22916544,"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":["chat-with-pdf","genai","langchain","python","qdrant"],"created_at":"2024-10-20T06:06:42.190Z","updated_at":"2026-02-13T00:31:55.518Z","avatar_url":"https://github.com/Ganesh2409.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📄 ASK-MY-PDF\r\n\r\n![Document Buddy App](logo.png)\r\n\r\n**ASk MY PDF** is a powerful Streamlit-based application designed to simplify document management. Upload your PDF documents, create embeddings for efficient retrieval, and interact with your documents through an intelligent chatbot interface. 🚀\r\n\r\n## 🛠️ Features\r\n\r\n- **📂 Upload Documents**: Easily upload and preview your PDF documents within the app.\r\n- **🧠 Create Embeddings**: Generate embeddings for your documents to enable efficient search and retrieval.\r\n- **🤖 Chatbot Interface**: Interact with your documents using a smart chatbot that leverages the created embeddings.\r\n- **📧 Contact**: Get in touch with the developer or contribute to the project on GitHub.\r\n- **🌟 User-Friendly Interface**: Enjoy a sleek and intuitive UI with emojis and responsive design for enhanced user experience.\r\n\r\n## 🖥️ Tech Stack\r\n\r\nThe Document Buddy App leverages a combination of cutting-edge technologies to deliver a seamless and efficient user experience. Here's a breakdown of the technologies and tools used:\r\n\r\n- **[LangChain](https://langchain.readthedocs.io/)**: Utilized as the orchestration framework to manage the flow between different components, including embeddings creation, vector storage, and chatbot interactions.\r\n  \r\n- **[Unstructured](https://github.com/Unstructured-IO/unstructured)**: Employed for robust PDF processing, enabling the extraction and preprocessing of text from uploaded PDF documents.\r\n  \r\n- **[BGE Embeddings from HuggingFace](https://huggingface.co/BAAI/bge-small-en)**: Used to generate high-quality embeddings for the processed documents, facilitating effective semantic search and retrieval.\r\n  \r\n- **[Qdrant](https://qdrant.tech/)**: A vector database running locally via Docker, responsible for storing and managing the generated embeddings for fast and scalable retrieval.\r\n  \r\n- **[LLaMA 3.2 via Ollama](https://ollama.com/)**: Integrated as the local language model to power the chatbot, providing intelligent and context-aware responses based on the document embeddings.\r\n  \r\n- **[Streamlit](https://streamlit.io/)**: The core framework for building the interactive web application, offering an intuitive interface for users to upload documents, create embeddings, and interact with the chatbot.\r\n\r\n## 📁 Directory Structure\r\n\r\nASK-MY-PDF/\r\n```\r\n├── app.py\r\n├── Attention Is All U Need.pdf\r\n├── chatbot.py\r\n│── logo.png\r\n├── README.md\r\n├── requirements.txt\r\n├── vectors.py\r\n```\r\nHere’s the updated setup with **Step 5** added for installing and running **Ollama with Llama 3.2** on Windows. 🚀  \r\n\r\n---\r\n\r\n## **🚀 Getting Started**  \r\n\r\nFollow these instructions to set up and run the **Ask-My-Pdf App** on your Windows machine.  \r\n\r\n### **1. Clone the Repository**  \r\n```bash\r\ngit clone https://github.com/Ganesh2409/ASK-MY-PDF.git\r\ncd ASK-MY-PDF\r\n```\r\n\r\n### **2. Create a Virtual Environment**  \r\nUse Python’s `venv` for managing dependencies.  \r\n\r\n#### **On Windows**  \r\n```bash\r\npython -m venv venv\r\n```\r\nActivate the virtual environment:  \r\n```bash\r\ncd venv\\Scripts\\activate\r\n```\r\n\r\n### **3. Install Dependencies**  \r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n---\r\n\r\n## **4. Running Qdrant in Docker**  \r\n\r\n1️⃣ **Install Docker**: [Download Docker](https://www.docker.com/get-started)  \r\n\r\n2️⃣ **Pull \u0026 Run Qdrant**  \r\n```bash\r\ndocker pull qdrant/qdrant\r\ndocker run -p 6333:6333 qdrant/qdrant\r\n```\r\n✅ **Qdrant should now be running at** `http://localhost:6333`\r\n\r\n---\r\n\r\n## **5. Install Ollama and Run Llama 3.2**  \r\n\r\n1️⃣ **Download and Install Ollama**  \r\n[Download Ollama for Windows](https://ollama.com/download)  \r\n\r\n2️⃣ **Open Command Prompt and Pull Llama 3.2 Model**  \r\n```bash\r\nollama pull llama3:3b\r\n```\r\n3️⃣ **Run Llama 3.2 Locally**  \r\n```bash\r\nollama run llama3:3b\r\n```\r\n✅ **Llama 3.2 is now running and ready for processing!**  \r\n\r\n---\r\n\r\n## **6. Run the Document Buddy App**  \r\n```bash\r\nstreamlit run app.py\r\n```\r\n✅ Open the **Streamlit web app** in your browser.  \r\n\r\nThis command will launch the app in your default web browser. If it doesn’t open automatically, navigate to the URL provided in the terminal (usually http://localhost:8501).\r\n\r\n### 🤝 Contributing\r\n\r\nContributions are welcome! Whether it’s reporting a bug, suggesting a feature, or submitting a pull request, your input is highly appreciated. Follow these steps to contribute:\r\n\r\n1.\tFork the Repository: Click on the “Fork” button at the top-right corner of the repository page.\r\n2.\tClone Your Fork\r\n3.\tCreate a New Branch:\r\n\r\n```bash\r\ngit checkout -b feature/YourFeatureName\r\n```\r\n\r\n\r\n4.\tMake Your Changes: Implement your feature or fix.\r\n5.\tCommit Your Changes:\r\n\r\n```bash\r\ngit commit -m \"Add Your Feature Description\"\r\n```\r\n\r\n\r\n6.\tPush to Your Fork:\r\n\r\n```bash\r\ngit push origin feature/YourFeatureName\r\n```\r\n\r\n\r\n7.\tCreate a Pull Request: Navigate to the original repository and create a pull request from your fork.\r\n\r\n### 📫 Contact\r\n\r\n•\tEmail:ganeshchowdhary2409@gmail.com ✉️\r\n\r\nFeel free to reach out for any queries, suggestions, or contributions. Your feedback is invaluable!\r\n\r\n\r\n### 🔗 Useful Links\r\n\r\n\r\n•\tStreamlit Documentation: https://docs.streamlit.io/\r\n\r\n•\tLangChain Documentation: https://langchain.readthedocs.io/\r\n\r\n•\tQdrant Documentation: https://qdrant.tech/documentation/\r\n\r\n•\tChatOllama Documentation: https://github.com/ollama/ollama\r\n\r\n```\r\n© 2024 ASK-MY-PDF. Made with ❤️\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganesh2409%2Fask-my-pdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganesh2409%2Fask-my-pdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganesh2409%2Fask-my-pdf/lists"}