https://github.com/chaosgen/rag-chatbot
Chat with multiple PDFs locally
https://github.com/chaosgen/rag-chatbot
chatbot chatbot-ui gradio llama-index llama3 llm mistral ollama python question-answering rag
Last synced: about 1 year ago
JSON representation
Chat with multiple PDFs locally
- Host: GitHub
- URL: https://github.com/chaosgen/rag-chatbot
- Owner: chaosgen
- License: apache-2.0
- Created: 2024-10-31T12:54:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-29T06:03:26.000Z (over 1 year ago)
- Last Synced: 2025-02-15T03:18:12.054Z (over 1 year ago)
- Topics: chatbot, chatbot-ui, gradio, llama-index, llama3, llm, mistral, ollama, python, question-answering, rag
- Language: Python
- Homepage:
- Size: 8.52 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🤖 Chat with multiple PDFs locally

# 📖 Table of Contents
- [`Feature`](#⭐️-features)
- [`Idea`](#-idea)
- [`Setup`](#💻-setup)
- [`Kaggle`](#1-kaggle-recommended)
- [`Local`](#2-local)
- [`Clone`](#21-clone-project)
- [`Install`](#22-install)
- [`Run`](#23-run)
- [`Todo`](#🎯-todo)
# ⭐️ Key Features
- Easy to run on `Local` or `Kaggle` (new)
- Using any model from `Huggingface` and `Ollama`
- Process multiple PDF inputs.
- Chat with multiples languages (Coming soon).
- Simple UI with `Gradio`.
# 💡 Idea (Experiment)


# 💻 Setup
## 1. Kaggle (Recommended)
- Import [`notebooks/kaggle.ipynb`](notebooks/kaggle.ipynb) to Kaggle
- Replace `` with your tokens.
## 2. Local
### 2.1. Clone project
```bash
git clone https://github.com/chaosgen/rag-chatbot.git
cd rag-chatbot
```
### 2.2 Install
#### 2.2.1 Docker
```bash
docker compose up --build
```
#### 2.2.2 Using script (Ollama, Ngrok, python package)
```bash
source ./scripts/install_extra.sh
```
#### 2.2.3 Install manually
##### 1. `Ollama`
- MacOS, Window: [Download](https://ollama.com/)
- Linux
```bash
curl -fsSL https://ollama.com/install.sh | sh
```
##### 2. `Ngrok`
- Macos
```bash
brew install ngrok/ngrok/ngrok
```
- Linux
```bash
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
&& echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \
| sudo tee /etc/apt/sources.list.d/ngrok.list \
&& sudo apt update \
&& sudo apt install ngrok
```
##### 3. Install `rag_chatbot` Package
```bash
source ./scripts/install.sh
```
### 2.3 Run
```bash
source ./scripts/run.sh
```
or
```bash
python -m rag_chatbot --host localhost
```
- Using Ngrok
```bash
source ./scripts/run.sh --ngrok
```
### 3. Go to: `http://0.0.0.0:7860/` or Ngrok link after setup completed
## 🎯 Todo
- [x] Add evaluation.
- [x] Better Document Processing.
- [ ] Support better Embedding Model for Vietnamese and other languages.
- [ ] ReAct Agent.
- [ ] Document mangement (Qrdant, MongoDB,...)
## 🌟 Star History
[](https://star-history.com/#chaosgen/rag-chatbot&Date)