A Multi-Agent AI Support Assistant for George Brown College
AskGeorge+ is a Retrieval-Augmented Generation (RAG) system built with LangChain to help George Brown College students get quick, accurate answers to academic and administrative questions. It combines document scraping, semantic search with ChromaDB through LangChain, and natural language answers powered by Google's Gemini model, with a modern Flask web interface.
🌐 Live Demo: askgeorge.onrender.com - Unstable (Free Tier)
- 📄 Web scraper for George Brown College Website with automated processing pipeline
- 📚 LangChain-powered semantic search with ChromaDB integration
- 🧠 Conversational AI powered by Google Gemini
- 💬 Smart conversation memory for context-aware responses
- 🔍 Natural language formatting for human-like interactions
- 🌐 Modern Flask web interface with real-time chat
- 🧪 Built-in conversation history and source tracking
- 🗃️ Automated document processing and embedding pipeline
├── agents/ # LangChain agent implementation
│ └── conversational_agent.py # Main conversation handler with LangChain
├── chroma_index/ # [Downloaded] ChromaDB vector store
├── scripts/ # Numbered scripts (1-5) for processing pipeline
├── templates/ # Flask HTML templates
│ ├── chat.html # Main chat interface
│ └── select_model.html # Model selection page
├── app.py # Flask web application
├── main.py # CLI interface application
├── start.sh # Startup script for downloading and setup
├── install.sh # Installation script
└── requirements.txt # Python dependencies
git clone https://github.com/birajgtm/askgeorge-.git
cd askgeorge
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Create a .env
file in the root directory with the following:
# Path to your Google Cloud service account JSON key file
GOOGLE_APPLICATION_CREDENTIALS=keys/your-key-file.json
# Port for the Flask application (optional)
PORT=10000
# Run the installation script - this will:
# 1. Set up the environment
# 2. Install dependencies
# 3. Download the ChromaDB index
./install.sh
You can start the application in two ways:
- Using start script (Recommended):
# This will verify ChromaDB index exists and start the application
./start.sh
- Direct Python execution:
# Make sure ChromaDB index is downloaded first
python app.py
Then open http://localhost:10000 in your browser.
python main.py
Component | Tool/Library |
---|---|
Framework | LangChain |
Web Framework | Flask 3.1.0 |
LLM | Google Gemini |
Embedding Model | all-MiniLM-L6-v2 via HuggingFace |
Vector Store | ChromaDB via LangChain |
Memory System | ConversationBufferMemory |
PDF Processing | pdfplumber |
Web Scraping | requests + BeautifulSoup |
API Key Management | python-dotenv |
File | Description |
---|---|
chroma_index/ |
ChromaDB vector store |
chat_logs |
Chat logs - toggle on llm.py |
This project is licensed under the MIT License.
Built for George Brown College's project by G9.