File size: 2,536 Bytes
fba61a7
 
 
 
 
 
 
 
 
 
 
 
 
 
c706fe8
e29b955
c706fe8
 
3cbd301
c706fe8
 
 
 
 
 
e29b955
 
c706fe8
 
 
 
e29b955
 
 
e418188
 
 
 
 
 
 
 
c706fe8
e418188
 
c706fe8
e29b955
 
c706fe8
 
 
 
 
 
 
 
 
 
 
 
e29b955
 
 
 
c706fe8
 
e29b955
 
c706fe8
e29b955
 
 
c706fe8
5373d2a
c706fe8
 
 
 
 
 
 
 
e418188
c706fe8
 
 
 
 
 
 
 
e29b955
c706fe8
 
 
 
e29b955
c706fe8
 
 
 
 
 
e29b955
 
c706fe8
e418188
e29b955
c706fe8
e29b955
 
c706fe8
075d061
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
---
title: Hubermanbot2
emoji: πŸ†
colorFrom: blue
colorTo: blue
sdk: gradio
sdk_version: 5.16.0
app_file: app.py
pinned: false
license: mit
short_description: a bot
---

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
# Andrew Huberman RAG-Based AI Chatbot

## Overview
Xyzbot is an AI chatbot that extracts and synthesizes insights from Andrew Huberman's YouTube videos. It automatically retrieves video transcripts, updates its knowledge base in ChromaDB, and provides citation-linked responses.

## πŸš€ Key Features
- Mimics Andrew Huberman's insights using YouTube video transcripts
- Automatic transcript retrieval and knowledge base updates
- RAG-powered response generation with direct video citations
- Interactive Streamlit user interface
- Docker-based deployment for easy scalability

## πŸ›  Tech Stack
- Backend: Python, LangChain, OpenAI API
- Frontend: Streamlit
- Database: ChromaDB
- Deployment: Docker

## πŸ“‚ Project Structure
```
πŸ“¦ Xyzbot
β”œβ”€β”€ πŸ“‚ Data
β”œβ”€β”€ πŸ“‚ Example
β”œβ”€β”€ πŸ“‚ Llm
β”œβ”€β”€ πŸ“‚ Notebook
β”œβ”€β”€ πŸ“‚ Prompts
β”œβ”€β”€ πŸ“‚ Rag
β”‚   β”œβ”€β”€ chromadb.db
β”‚   └── πŸ“‚ Processed_folder
β”œβ”€β”€ πŸ“‚ utils
β”œβ”€β”€ Dockerfile
└── pyproject.toml
```

## πŸ”§ Prerequisites
- Python 3.8+
- Docker (optional)

## πŸ”‘ API Keys Required
1. Google Gemini API Key
2. YouTube API Key

## πŸš€ Installation

### Local Setup
1. Clone the repository
   ```bash
   git clone https://github.com/Angel-dash/Xyzbot.git
   cd Xyzbot
   ```

2. Create virtual environment
   ```bash
   python3 -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt
   ```

### Docker Setup

#### Option 1: Build Locally
```bash
docker build -t xyzbot:v1.0 .
docker run -it \
  -v $(pwd)/Rag:/app/Rag:rw \
  -e GOOGLE_API_KEY=your_api_key \
  xyzbot:v1.0
```

#### Option 2: Pull from Docker Hub
```bash
docker pull angeldash/xyzbot:v1.0
docker run -it \
  -v $(pwd)/Rag:/app/Rag:rw \
  -e GOOGLE_API_KEY=your_api_key \
  angeldash/xyzbot:v1.0
```

## πŸ–₯️ Running the Application
```bash
streamlit run src/main.py
```

## πŸ“ˆ Future Roadmap
- Fine-tuned LLM response generation
- Real-time multi-channel monitoring
- Enhanced citation formatting
- AI agent conversation handling
- Performance optimization

## πŸ“œ License
MIT License

## 🀝 Contributing
Contributions are welcome! Open an issue or submit a pull request.

---
**Author:** Angel Dash | **GitHub:** [@Angel-dash](https://github.com/Angel-dash)