ARGOBot / README.md
mrmtaeb's picture
Update README.md
02ade79 verified
---
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`)