--- title: ARGObot emoji: 🤖 colorFrom: indigo colorTo: gray sdk: streamlit sdk_version: "1.32.2" app_file: app.py pinned: false --- # ARGObot: UWF's Custom AI Advisor ARGObot is a modular question-answering chatbot that uses either OpenAI (GPT-4) or Google's Gemini with Retrieval-Augmented Generation (RAG). Designed with Langchain, LangGraph, and Streamlit, it allows students to query university policies directly from documents like the UWF Student Handbook. ## Features - Easily switch between `OpenAI` and `Gemini` models. - Retrieval-Augmented Generation (RAG) using PDF knowledge base. - Tool integration for fallback search (Google Search). - Conversational memory with LangGraph. - Custom UI with UWF branding and Streamlit. ## Local Development ```bash # Install dependencies pip install -r requirements.txt # Set environment export MODEL_PROVIDER=openai # or gemini export OPENAI_API_KEY=your-key export GOOGLE_API_KEY=your-key # Run Streamlit streamlit run app.py ``` ## Project Structure ``` . ├── app.py # Unified entrypoint ├── requirements.txt └── src/ ├── agents/ # Prompt templates and tool config ├── chains/ # OpenAI & Gemini RAG logic ├── config/ # Environment setup ├── interface/ # Streamlit UI └── state.py # LangGraph definition ``` ## Hugging Face Secrets (Required) Add the following secrets in the Hugging Face UI: - `OPENAI_API_KEY` - `GOOGLE_API_KEY` - `MODEL_PROVIDER` (default: `openai`)