Spaces:
Sleeping
Sleeping
| 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`) | |