/rag-chatbot

Chat with multiple PDFs locally

Primary LanguagePythonApache License 2.0Apache-2.0

🤖 Chat with multiple PDFs locally

alt text

📖 Table of Contents

⭐️ 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)

2. Local

2.1. Clone project

git clone https://github.com/datvodinh/rag-chatbot.git
cd rag-chatbot

2.2 Install

2.2.1 Docker

docker compose up --build

2.2.2 Using script (Ollama, Ngrok, python package)

source ./scripts/install_extra.sh

2.2.3 Install manually

1. Ollama
curl -fsSL https://ollama.com/install.sh | sh
2. Ngrok
  • Macos
brew install ngrok/ngrok/ngrok
  • Linux
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
source ./scripts/install.sh

2.3 Run

source ./scripts/run.sh

or

python -m rag_chatbot --host localhost
  • Using Ngrok
source ./scripts/run.sh --ngrok

3. Go to: http://0.0.0.0:7860/ or Ngrok link after setup completed

🎯 Todo

  • Add evaluation.
  • Better Document Processing.
  • Support better Embedding Model for Vietnamese and other languages.
  • ReAct Agent.
  • Document mangement (Qrdant, MongoDB,...)

🌟 Star History

Star History Chart