File size: 3,592 Bytes
27f92d2
 
 
 
 
 
 
 
 
 
 
 
d05475d
 
 
 
 
 
 
e85e581
d05475d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27f92d2
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
---
title: Academic Research Paper Assistant
emoji: πŸš€
colorFrom: gray
colorTo: yellow
sdk: streamlit
sdk_version: 1.40.1
app_file: app.py
pinned: false
short_description: Academic-Research-Paper-Assistant
---


# Academic Research Paper Assistant

An intelligent assistant that helps researchers search, analyze, and synthesize academic papers using Large Language Models (LLMs). The application provides multi-agent capabilities for paper search, question answering, summarization, and future research direction generation.

[Watch the Project Demonstration on YouTube](http://www.youtube.com/watch?v=DpunojtYDFE)

![Front-End of app](imgs/Frontend.png)
## Features

- **Paper Search**: Search and retrieve relevant research papers from Arxiv
- **Question Answering**: Get answers about specific papers or content with source citations
- **Summarization**: Extract key findings and trends from multiple papers
- **Future Works Generation**: Generate research directions and improvement plans
- **Interactive UI**: User-friendly Streamlit interface for paper browsing and chat

## Architecture

The application uses a multi-agent system with the following components:

- **Intent Agent**: Classifies user queries to route to appropriate specialized agents
- **Search Agent**: Retrieves and processes papers from Arxiv
- **QA Agent**: Handles specific questions about paper content
- **Summarization Agent**: Synthesizes information across multiple papers
- **Future Works Agent**: Generates research directions and review papers

## Technology Stack

- **Frontend**: Streamlit
- **Backend**: FastAPI
- **LLM Integration**: Google Generative AI
- **Vector Store**: FAISS
- **Document Processing**: LangChain
- **PDF Processing**: PDFMiner

## Installation

1. Clone the repository:
```bash
git clone https://github.com/Sanket-Kathrotiya/Academic-Research-Paper-Assistant.git
```

2. Create and activate a virtual environment:
```bash
conda create --name venv
conda activate venv
```

3. Install dependencies:
```bash
pip install -r requirements.txt
```

4. Set up environment variables:
```bash
# Create .env file
GOOGLE_API_KEY=your_api_key_here
```

## Usage

1. Start the application:
```bash
cd src
streamlit run app.py
```

2. Open your browser and navigate to `http://localhost:8501`

3. Enter your research topic or question in the chat interface

4. Select papers of interest from the timeline view

5. Interact with the assistant through natural language queries

## Example Queries

- "Find papers about text-to-SQL"
- "What are the key findings in Paper X?"
- "Summarize the advancements in this field over the last 5 years"
- "What are potential future research directions?"
- "Generate a review paper outline"

## Project Structure

```
src
β”œβ”€β”€ agents
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ dummy
β”‚   β”œβ”€β”€ future_works_agent.py
β”‚   β”œβ”€β”€ intent_agent.py
β”‚   β”œβ”€β”€ qa_agent.py
β”‚   β”œβ”€β”€ search_agent.py
β”‚   └── summarization_agent.py
β”œβ”€β”€ config
β”‚   └── config.py
β”œβ”€β”€ app.py
β”œβ”€β”€ router.py
β”œβ”€β”€ README.md
└── requirements.txt
```



## Acknowledgments

- [Streamlit](https://streamlit.io/) for the web interface framework
- [LangChain](https://python.langchain.com/) for LLM integration
- [Google Generative AI](https://ai.google.dev/) for the language model
- [Arxiv](https://arxiv.org/) for the research paper database

## Requirements

See `requirements.txt` for a full list of dependencies.







Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference