Spaces:
Sleeping
Sleeping
File size: 1,585 Bytes
02ade79 b7d4c45 3e5f97c b7d4c45 3e5f97c bd93627 3e5f97c b7d4c45 3e5f97c b7d4c45 3e5f97c b7d4c45 3e5f97c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
---
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`)
|