Spaces:
Configuration error
Configuration error
File size: 2,260 Bytes
94a26ba 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 89bd785 79707c4 | 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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | # ARGObot: Academic Advising Chatbot Powered with AI Agent
ARGObot is a custom-built Retrieval-Augmented Generation (RAG) chatbot designed to answer university-related questions using either OpenAI or Google Gemini. It reads from official student handbooks and optionally supplements answers using Google Search.
## Features
- Switchable backend (OpenAI or Gemini)
- LangGraph for stateful chat memory
- RAG pipeline using LangChain + ChromaDB
- Clean Streamlit interface
- Modular file structure
- Secure `.env`-based configuration
---
## Project Structure
```
src/
βββ agents/ # Tools and prompt templates
βββ chains/ # RAG pipelines
βββ config/ # Environment and secrets
βββ interface/ # Streamlit UI
βββ state.py # LangGraph state and workflow
βββ main.py # Unified app entrypoint
```
---
## Getting Started
### 1. Clone the Repository
```bash
git clone https://github.com/yourusername/argobot.git
cd argobot
```
### 2. Install Requirements
```bash
pip install -r requirements.txt
```
### 3. Configure Environment
Create a `.env` file based on `.env.example`:
```env
MODEL_PROVIDER=openai
OPENAI_API_KEY=your-openai-key
GOOGLE_API_KEY=your-gemini-key
PDF_PATH=resources/22_studenthandbook-22-23_f2.pdf
```
### 4. Run the App
```bash
streamlit run src/main.py
```
---
## How It Works
1. Loads a PDF knowledge base (e.g., UWF Student Handbook)
2. Splits it into text chunks using LangChain
3. Embeds and stores chunks in a vector store
4. Uses LangGraph to manage conversation state
5. Responds via OpenAI or Gemini based on your configuration
---
## Technologies Used
- [LangChain](https://www.langchain.com/)
- [LangGraph](https://docs.langgraph.dev/)
- [Streamlit](https://streamlit.io/)
- [OpenAI](https://platform.openai.com/)
- [Google Gemini](https://ai.google.dev/)
- [ChromaDB](https://docs.trychroma.com/)
---
## Security Note
Do **not** share your `.env` or `credentials.json` publicly. Always use `.env.example` for version control.
---
## License
MIT License β free for personal and commercial use.
---
## Author
**Maryam Taeb**
[Contact me](mailto:mr@uwf.edu) for collaboration or custom deployments. |