Skip to content

Repository files navigation

ChatOTP - COTO Resource Chatbot

Overview

This project is a chatbot that answers user questions based on articles from the COTO Resources page. The chatbot uses an LLM (OpenAI) with document embeddings stored in a vector database for fast and accurate responses.


Tech Stack

  • Frontend: React + Vite + TailwindCSS
  • Backend: Python + FastAPI + LangChain
  • Scraping: BeautifulSoup + Requests
  • Storage: ChromaDB (Vector Database)
  • LLM: OpenAI API - GPT-4o mini and text-embedding-ada-002
  • Deployment: Docker + Cloudflare Tunnel

Local Deployment Instructions with Docker

1️⃣ Clone the Repository

git clone https://github.com/your-repo/COTO-ChatBot.git
cd COTO-ChatBot

2️⃣ Set Up Environment Variables

Create the backend .env file:

echo "OPENAI_API_KEY=your-openai-api-key" > backend/.env

Create the frontend .env file:

echo "VITE_API_BASE_URL=http://localhost:8000" > .env

3️⃣ Build with Docker

docker build -t chatotp .

4️⃣ Run the Application

docker run -d -p 8000:8000 -p 8501:8501 \
  -v ~/docker/chatotp/COTO-ChatBot/backend/chroma_db:/app/backend/chroma_db \
  --restart unless-stopped \
  --name chatotp chatotp

5️⃣ Access the Application


Images

Image 1 Image 2
Main Page Chat Response
image image
Additional Features Swagger FastAPI

About

AI ChatBot for Ontario Occupational Therapists Resources

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages