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`)