Spaces:
Configuration error
Configuration error
ARGObot: Academic Advising Chatbot Powered with AI Agent
ARGObot is a custom-built Retrieval-Augmented Generation (RAG) chatbot designed to answer university-related questions using either OpenAI or Google Gemini. It reads from official student handbooks and optionally supplements answers using Google Search.
Features
- Switchable backend (OpenAI or Gemini)
- LangGraph for stateful chat memory
- RAG pipeline using LangChain + ChromaDB
- Clean Streamlit interface
- Modular file structure
- Secure
.env-based configuration
Project Structure
src/
βββ agents/ # Tools and prompt templates
βββ chains/ # RAG pipelines
βββ config/ # Environment and secrets
βββ interface/ # Streamlit UI
βββ state.py # LangGraph state and workflow
βββ main.py # Unified app entrypoint
Getting Started
1. Clone the Repository
git clone https://github.com/yourusername/argobot.git
cd argobot
2. Install Requirements
pip install -r requirements.txt
3. Configure Environment
Create a .env file based on .env.example:
MODEL_PROVIDER=openai
OPENAI_API_KEY=your-openai-key
GOOGLE_API_KEY=your-gemini-key
PDF_PATH=resources/22_studenthandbook-22-23_f2.pdf
4. Run the App
streamlit run src/main.py
How It Works
- Loads a PDF knowledge base (e.g., UWF Student Handbook)
- Splits it into text chunks using LangChain
- Embeds and stores chunks in a vector store
- Uses LangGraph to manage conversation state
- Responds via OpenAI or Gemini based on your configuration
Technologies Used
Security Note
Do not share your .env or credentials.json publicly. Always use .env.example for version control.
License
MIT License β free for personal and commercial use.
Author
Maryam Taeb
Contact me for collaboration or custom deployments.