This repository hosts a Retrieval-Augmented Generation (RAG) based question-answering chatbot designed to answer questions related to files uploaded by the user. The app is deployed on Streamlit, providing an interactive interface for users to upload files and receive answers.
The RAG-Chatbot uses LangChain to implement a retrieval-based system that augments language generation with file-specific context. The app is tailored for scenarios where users need precise answers from specific documents, making it ideal for document review and information extraction.
- RAG Architecture: Combines retrieval and generation to answer questions accurately.
- LangChain Integration: Leverages LangChain’s capabilities to process and retrieve relevant data.
- File-Specific Q&A: Accepts PDFs or other documents as input, enabling precise responses.
- Streamlit Interface: Provides an easy-to-use web interface for seamless interaction.
- constants.py: Defines constants used across the application.
- mindcase_submission.ipynb: A Jupyter notebook for submission and testing.
- pdf_qa.py: Contains core functions for processing PDF files and performing QA.
- pipeline_qa.yaml: YAML configuration file for defining the RAG pipeline.
- requirements.txt: Lists the required dependencies.
- run_qa.sh: Script to launch the application.
- streamlit_app_blog.py: Streamlit app file for deployment on Streamlit.
-
Clone the repository:
git clone https://github.com/your-username/RAG-Chatbot.git cd RAG-Chatbot
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
./run_qa.sh
Once deployed, visit the Streamlit app URL to upload files and interact with the chatbot. The chatbot will process the uploaded file and provide relevant answers based on the content.
To deploy on Streamlit, follow the instructions in streamlit_app_blog.py
. Ensure you configure any necessary API keys and environment variables. Currently my version is deployed at this URL: pdf-chatbot-owais
This project is licensed under the MIT License.