{"id":19682480,"url":"https://github.com/rayyan9477/pdf-chatbot","last_synced_at":"2025-07-08T19:07:53.296Z","repository":{"id":253448442,"uuid":"843538096","full_name":"Rayyan9477/PDF-Chatbot","owner":"Rayyan9477","description":"This is a Streamlit-based web application that allows users to upload PDF files and ask questions about their content. The application uses a combination of natural language processing techniques and vector-based text retrieval to provide answers to the user's questions.","archived":false,"fork":false,"pushed_at":"2024-08-16T18:30:36.000Z","size":7,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T07:24:36.148Z","etag":null,"topics":["chatbot","machine-learning","machine-learning-algorithms","natural-language-processing","pdf","pdf-document-processor","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rayyan9477.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-16T18:29:09.000Z","updated_at":"2024-08-16T18:31:52.000Z","dependencies_parsed_at":"2024-08-16T20:10:52.344Z","dependency_job_id":null,"html_url":"https://github.com/Rayyan9477/PDF-Chatbot","commit_stats":null,"previous_names":["rayyan9477/pdf-chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Rayyan9477/PDF-Chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayyan9477%2FPDF-Chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayyan9477%2FPDF-Chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayyan9477%2FPDF-Chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayyan9477%2FPDF-Chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rayyan9477","download_url":"https://codeload.github.com/Rayyan9477/PDF-Chatbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rayyan9477%2FPDF-Chatbot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261960503,"owners_count":23236572,"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","machine-learning","machine-learning-algorithms","natural-language-processing","pdf","pdf-document-processor","python"],"created_at":"2024-11-11T18:10:58.415Z","updated_at":"2025-06-25T22:05:48.598Z","avatar_url":"https://github.com/Rayyan9477.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Chat\r\n\r\nThis is a Streamlit-based web application that allows users to upload PDF files and ask questions about their content. The application uses a combination of natural language processing techniques and vector-based text retrieval to provide answers to the user's questions.\r\n\r\n## Features\r\n\r\n1. **PDF Upload**: Users can upload one or more PDF files to the application.\r\n2. **PDF Processing**: The application processes the uploaded PDF files, extracts the text content, and splits it into manageable chunks.\r\n3. **Vector Store Creation**: The application creates a vector store using the OpenAI Embeddings library, which allows for efficient text retrieval.\r\n4. **Question Answering**: Users can ask questions about the content of the uploaded PDF files, and the application will provide answers using the information in the vector store.\r\n5. **Source Tracking**: The application not only provides the answer to the user's question but also indicates the sources (PDF pages) that were used to generate the answer.\r\n\r\n## Technologies and Libraries Used\r\n\r\n- **Streamlit**: A Python library for building interactive web applications.\r\n- **PyPDF2**: A pure-python library built as a PDF toolkit.\r\n- **langchain**: A toolkit for building applications with large language models.\r\n- **OpenAI Embeddings**: A language model used for generating text embeddings.\r\n- **FAISS**: A library for efficient similarity search and clustering of dense vectors.\r\n- **ChatOpenAI**: A language model from OpenAI used for generating responses to user questions.\r\n\r\n## Installation and Usage\r\n\r\n1. Clone the repository:\r\n   ```\r\n   git clone https://github.com/your-username/pdf-chat.git\r\n   ```\r\n\r\n2. Install the required dependencies:\r\n   ```\r\n   pip install -r requirements.txt\r\n   ```\r\n\r\n3. Set the OpenAI API key as a Streamlit secret:\r\n   ```\r\n   streamlit secrets set OPENAI_API_KEY=your_openai_api_key\r\n   ```\r\n\r\n4. Run the Streamlit application:\r\n   ```\r\n   streamlit run app.py\r\n   ```\r\n\r\n5. The application will open in your default web browser. You can then upload PDF files and ask questions about their content.\r\n\r\n## Customization\r\n\r\nYou can customize the application by modifying the Python code in the `app.py` file. For example, you can change the language model, the text splitting algorithm, or the prompts used for generating the responses.\r\n\r\nBy email: rayyanahmed265@yahoo.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayyan9477%2Fpdf-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayyan9477%2Fpdf-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayyan9477%2Fpdf-chatbot/lists"}