Welcome to the RAG Chatbot Documents repository! This project implements a Retrieval-Augmented Generation (RAG) based chatbot. You can upload PDF documents, index them with embeddings, and ask questions about their content. It supports both OpenAI and Hugging Face models via the Inference API.
For the latest updates and releases, please visit the Releases section.
- Upload PDFs: Easily upload PDF documents for processing.
- Indexing with Embeddings: The chatbot indexes documents using embeddings for efficient retrieval.
- Question Answering: Ask questions related to the content of the documents.
- Support for Multiple Models: Use either OpenAI or Hugging Face models for inference.
- Semantic Search: Perform searches that understand the meaning behind the words.
- Vector Search: Leverage vector-based searching for fast and accurate results.
This project utilizes a range of technologies to deliver its functionality:
- FastAPI: A modern web framework for building APIs with Python.
- LangChain: A framework for building applications with LLMs.
- FAISS: A library for efficient similarity search and clustering of dense vectors.
- Streamlit: A framework for building web apps for machine learning and data science.
- OpenAI API: Access OpenAI models for generating responses.
- Hugging Face API: Utilize models from Hugging Face for various NLP tasks.
To get started with the RAG Chatbot Documents, follow these steps:
-
Clone the Repository:
git clone https://github.com/jcpanggoygit/rag-chatbot-documents.git
-
Navigate to the Project Directory:
cd rag-chatbot-documents
-
Install Required Packages: Use pip to install the necessary packages.
pip install -r requirements.txt
-
Download the Latest Release: Visit the Releases section to download the latest version. Make sure to execute the required files after downloading.
-
Run the Application: Start the FastAPI server:
uvicorn main:app --reload
Once you have the application running, you can interact with the chatbot through the web interface. Hereβs how to use it:
- Upload Documents: Click on the upload button to add your PDF files.
- Index Documents: After uploading, the chatbot will automatically index the documents using embeddings.
- Ask Questions: Use the provided input box to ask questions related to the content of the uploaded documents.
- Receive Answers: The chatbot will respond based on the indexed information.
We welcome contributions to enhance the RAG Chatbot Documents. If you would like to contribute, please follow these steps:
- Fork the Repository: Click on the fork button at the top right of the page.
- Create a Branch: Create a new branch for your feature or bug fix.
git checkout -b feature-name
- Make Changes: Implement your changes in the code.
- Commit Your Changes: Commit your changes with a descriptive message.
git commit -m "Add a new feature"
- Push to Your Branch: Push your changes to your forked repository.
git push origin feature-name
- Create a Pull Request: Go to the original repository and create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or feedback, please reach out to the project maintainer:
- Name: J. C. Panggoy
- Email: jcpanggoy@example.com
- GitHub: jcpanggoygit
Thank you for checking out the RAG Chatbot Documents! We hope you find it useful. For further information, please refer to the Releases section.