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)

## 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
|