File size: 6,278 Bytes
1476439
 
cf6553c
1476439
 
02ae633
1476439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
02ae633
1476439
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# AI Research Buddy: Your Conversational RAG Sidekick

![Image](https://github.com/user-attachments/assets/3e8af607-202c-4c1e-a634-a12c8b3733e5)
*Unleash the power of research with a twist of AI magic!*  

Welcome to **AI Research Buddy**, a slick, conversational app that dives into the vast ocean of arXiv papers to fetch, summarize, and source the best research on any topic you throw at it—like "RAG" (yep, it’s meta enough to research itself!). Built from the ground up by **Nithin** (that’s me!), this project is a living testament to my mastery of **Retrieval-Augmented Generation (RAG)** and **agents**, blending advanced retrieval tricks with a chatty AI that’s always ready to dig deeper. Whether you’re a student, researcher, or just a curious mind, this buddy’s got your back—all running.

---

## 🚀 What’s This All About?

AI Research Buddy isn’t just another research tool—it’s a **conversational RAG agent** with a mission: to make exploring academic papers fast, fun, and insightful. Here’s the gist:

- **Ask Anything**: Type a topic (e.g., "RAG") or a follow-up (e.g., "Tell me more"), and watch it work its magic.
- **Smart Retrieval**: It grabs papers from arXiv, expands your query (think "RAG" → "Retrieval-Augmented Generation"), and reranks them to spotlight the best.
- **Snappy Summaries**: Powered by `distilgpt2`, it crafts concise summaries of the top papers, serving up knowledge in bite-sized chunks.
- **Sources Included**: Every summary comes with clickable arXiv links, so you can dive into the originals.
- **Chatty Agent**: Ask for more, and it’ll refine the story using what it’s already found—no extra digging required.

This isn’t just a demo—it’s proof that RAG and agents can team up to turn research into a conversation, all while keeping things light on your hardware.

---

## 🌟 Features That Shine

- **Advanced RAG Magic**:
  - **Query Expansion**: Boosts recall by adding synonyms (e.g., "AI" → "Artificial Intelligence").
  - **Reranking**: Uses a cross-encoder (`cross-encoder/ms-marco-MiniLM-L-6-v2`) to pick the top 3 papers with precision.
  - **Generation**: Summarizes with `distilgpt2`, generating up to 100 new tokens for crisp, relevant outputs.

- **Agent Awesomeness**:
  - **Autonomy**: Fetches, ranks, and summarizes papers without hand-holding.
  - **Conversational Memory**: Tracks history with `ConversationBufferMemory`, adapting to follow-ups like "Tell me more."
  - **Decision-Making**: Smartly chooses the best papers and adjusts responses based on your input.

- **Lightweight Design**: Runs smoothly on 8GB RAM (~700MB footprint).

---

## 🎉 Try It Out!

Hosted live on [Hugging Face Spaces](https://huggingface.co/spaces/Nithin89/AI_Reaserch_Buddy), AI Research Buddy is ready to roll! Here’s what you’ll see:

- **Input**: "RAG"
  ```
  📜 **Summary of Best Papers on RAG:**
  Retrieval-Augmented Generation (RAG) enhances language models by integrating external knowledge retrieval, improving performance on knowledge-intensive tasks. Research highlights modular frameworks and benchmarks.

  **Sources:**
  - Modular RAG: Transforming RAG Systems ([link](https://export.arxiv.org/abs/2407.21059v1))
  - ARAGOG: Advanced RAG Output Grading ([link](https://export.arxiv.org/abs/2404.01037v1))
  - CRAG -- Comprehensive RAG Benchmark ([link](https://export.arxiv.org/abs/2406.04744v2))
  ```

- **Follow-Up**: "Tell me more"
  ```
  📜 **More on RAG:**
  Modular RAG offers reconfigurable frameworks, while CRAG benchmarks evaluate real-world QA, advancing RAG applications.
  ```

---

## 🛠️ How It Works

Here’s the techy breakdown:

1. **Retrieval**:
   - **DataIngestion**: Fetches up to 5 papers from arXiv with an expanded query (`ti:{query} OR ab:{query}`).
   - **RetrievalModule**: Builds a Chroma vector store with `all-MiniLM-L6-v2` embeddings, retrieves 5 papers, and reranks to the top 3 using a cross-encoder.

2. **Generation**:
   - Combines retrieved abstracts into a prompt, then uses `distilgpt2` to generate a 100-token summary.

3. **Agent Behavior**:
   - `ConversationBufferMemory` tracks chat history, reusing context for follow-ups.
   - Adapts output based on whether it’s a new query or a deeper dive.

4. **Output**:
   - New queries get summaries + sources; follow-ups refine the summary.

All this runs in a Gradio app, deployed to Hugging Face Spaces for the world to see!

---

## 📦 Setup and Installation

Want to run it locally or tweak it? Here’s how:

### **Prerequisites**
- Python 3.8+
- Git installed
- ~1GB free disk space (for models)

### **Steps**
1. **Clone the Repo**:
   ```bash
   git clone https://github.com/Nithin8919/AI_Research_Buddy.git
   cd AI_Research_Buddy
   ```

2. **Install Dependencies**:
   ```bash
   pip install -r requirements.txt
   ```
   *requirements.txt*:
   ```
   gradio
   requests
   langchain
   langchain-community
   transformers
   huggingface-hub
   loguru
   numpy
   torch
   ```

3. **Run It**:
   ```bash
   python app.py
   ```
   - Opens at `http://127.0.0.1:7860`.
   - Add `share=True` to `demo.launch()` for a temporary public URL.

4. **Test**: Try "RAG" and "Tell me more" in the browser.

---

## 🌍 Deployment

Live at [Hugging Face Spaces](https://huggingface.co/spaces/Nithin89/AI_Reaserch_Buddy)! To deploy your own:

1. **Push to HF Space**:
   - Add your Space as a remote:
     ```bash
     git remote add space https://Nithin89:<HF_TOKEN>@huggingface.co/spaces/Nithin89/AI_Reaserch_Buddy
     git push space main --force
     ```
   - Replace `<HF_TOKEN>` with your Hugging Face token.

2. **Build**: HF auto-builds from `app.py` and `requirements.txt`.

---

## 💡 Why It’s Awesome

- **RAG Mastery**: Shows off query expansion, reranking, and generation—core RAG skills.
- **Agent Vibes**: Conversational, autonomous, and adaptive, proving I get agents.
- **Lean & Mean**: Runs on 8GB RAM, a testament to efficient design.
- **Fun Factor**: Research doesn’t have to be dull—this buddy’s got personality!

---

## 📜 License

MIT License—feel free to fork, tweak, and share!

---

**Created by Nithin | February 24, 2025**  
[GitHub](https://github.com/Nithin8919) | [Hugging Face](https://huggingface.co/Nithin89)