An open API service indexing awesome lists of open source software.

https://github.com/jcpanggoygit/rag-chatbot-documents

This repository contains a RAG-based chatbot that helps you ask questions about your PDF documents. Use FastAPI and Streamlit to easily interact with your files and get accurate answers! πŸ™πŸ’»
https://github.com/jcpanggoygit/rag-chatbot-documents

clerk cli-chatbot devcontainer fastapi huggingface jupyter-notebook large-language-models llama2 llama3 llm local-chatbot nextui petcare rag retrieval-augmented-generation serverless supabase vector-database

Last synced: 5 months ago
JSON representation

This repository contains a RAG-based chatbot that helps you ask questions about your PDF documents. Use FastAPI and Streamlit to easily interact with your files and get accurate answers! πŸ™πŸ’»

Awesome Lists containing this project

README

          

# RAG Chatbot Documents πŸ€–πŸ“„

![GitHub All Releases](https://img.shields.io/github/downloads/jcpanggoygit/rag-chatbot-documents/total) ![GitHub Releases](https://img.shields.io/github/release/jcpanggoygit/rag-chatbot-documents) ![GitHub Issues](https://img.shields.io/github/issues/jcpanggoygit/rag-chatbot-documents)

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](https://github.com/jcpanggoygit/rag-chatbot-documents/releases).

## Table of Contents

1. [Features](#features)
2. [Technologies Used](#technologies-used)
3. [Installation](#installation)
4. [Usage](#usage)
5. [Contributing](#contributing)
6. [License](#license)
7. [Contact](#contact)

## Features

- **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.

## Technologies Used

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.

## Installation

To get started with the RAG Chatbot Documents, follow these steps:

1. **Clone the Repository**:
```bash
git clone https://github.com/jcpanggoygit/rag-chatbot-documents.git
```

2. **Navigate to the Project Directory**:
```bash
cd rag-chatbot-documents
```

3. **Install Required Packages**:
Use pip to install the necessary packages.
```bash
pip install -r requirements.txt
```

4. **Download the Latest Release**:
Visit the [Releases section](https://github.com/jcpanggoygit/rag-chatbot-documents/releases) to download the latest version. Make sure to execute the required files after downloading.

5. **Run the Application**:
Start the FastAPI server:
```bash
uvicorn main:app --reload
```

## Usage

Once you have the application running, you can interact with the chatbot through the web interface. Here’s how to use it:

1. **Upload Documents**: Click on the upload button to add your PDF files.
2. **Index Documents**: After uploading, the chatbot will automatically index the documents using embeddings.
3. **Ask Questions**: Use the provided input box to ask questions related to the content of the uploaded documents.
4. **Receive Answers**: The chatbot will respond based on the indexed information.

## Contributing

We welcome contributions to enhance the RAG Chatbot Documents. If you would like to contribute, please follow these steps:

1. **Fork the Repository**: Click on the fork button at the top right of the page.
2. **Create a Branch**: Create a new branch for your feature or bug fix.
```bash
git checkout -b feature-name
```
3. **Make Changes**: Implement your changes in the code.
4. **Commit Your Changes**: Commit your changes with a descriptive message.
```bash
git commit -m "Add a new feature"
```
5. **Push to Your Branch**: Push your changes to your forked repository.
```bash
git push origin feature-name
```
6. **Create a Pull Request**: Go to the original repository and create a pull request.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For any questions or feedback, please reach out to the project maintainer:

- **Name**: J. C. Panggoy
- **Email**: jcpanggoy@example.com
- **GitHub**: [jcpanggoygit](https://github.com/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](https://github.com/jcpanggoygit/rag-chatbot-documents/releases).