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

https://github.com/mnds18/sydney-rag-chatbot

End-to-end RAG chatbot powered by LangChain, FAISS, OpenAI GPT-3.5, and Flask. Scrapes live Sydney Wikipedia data and answers questions in real-time
https://github.com/mnds18/sydney-rag-chatbot

ai chatbot datascience faiss flask generativeai langchain openai python rag vectorsearch webscraping

Last synced: 2 months ago
JSON representation

End-to-end RAG chatbot powered by LangChain, FAISS, OpenAI GPT-3.5, and Flask. Scrapes live Sydney Wikipedia data and answers questions in real-time

Awesome Lists containing this project

README

          








Deploy to Render

# Mr. Mrig Sydney RAG Chatbot đŸ¨đŸ›Šī¸

A full-stack **Retrieval-Augmented Generation (RAG)** chatbot trained on live content scraped from Wikipedia (Sydney page).
Built to demonstrate practical AI product engineering: scraping ➔ vectorizing ➔ retrieval ➔ real-time chat.

---

## 🚀 Features

- 🌐 Live **web scraping** with BeautifulSoup
- 🧠 **Vector embedding** using HuggingFace models + **FAISS** vector database
- 🤖 **RAG pipeline** with **OpenAI GPT-3.5 Turbo**
- đŸ–Ĩī¸ Minimalistic **Flask web app** with live chat interface
- 🔄 **Auto vectorstore management** (create, load, save)
- â˜ī¸ **One-click deploy to Render**

---

## 📊 Demo Screenshot Chat 1
![Chat 1](demo/Sydney_Chatbot_1.jpg)

## 📊 Demo Screenshot Chat 1
![Chat 2](demo/Sydney_Chatbot_2.jpg)

## 📂 Project Structure

sydney-rag-chatbot/ ├── app.py # Main application (Flask + RAG logic) ├── requirements.txt # Python dependencies ├── render.yaml # Render deployment configuration ├── templates/ │ └── index.html # Simple frontend for chatting ├── website_text.txt # (Generated) scraped Wikipedia text ├── faiss_db_folder/ # (Generated) FAISS vector database ├── .env.example # Template for environment variables └── README.md # Documentation

---

## 🔑 Environment Variables

To run this project, you need to configure the following environment variable:

| Variable | Purpose |
|:-----------------|:-------------------------------------------------|
| `OPENAI_API_KEY` | Your OpenAI API key for accessing GPT-3.5 models |

---

### đŸ’ģ How to Set It Locally

- Create a `.env` file in your project root.
- Add this line:

```plaintext
OPENAI_API_KEY=your-openai-api-key-here