SanketAI's picture
Update README.md
e85e581 verified

A newer version of the Streamlit SDK is available: 1.53.1

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

Front-End of app

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:
git clone https://github.com/Sanket-Kathrotiya/Academic-Research-Paper-Assistant.git
  1. Create and activate a virtual environment:
conda create --name venv
conda activate venv
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
# Create .env file
GOOGLE_API_KEY=your_api_key_here

Usage

  1. Start the application:
cd src
streamlit run app.py
  1. Open your browser and navigate to http://localhost:8501

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

  3. Select papers of interest from the timeline view

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

Requirements

See requirements.txt for a full list of dependencies.

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