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