Skip to content

Repository files navigation

Agentic Research Assistant

An AI-powered research assistant that can search research papers, download PDFs, analyze them, build long-term memory using FAISS, compare papers, and identify research gaps.


Features

  • Search papers from arXiv
  • Download PDFs automatically
  • Read and extract text from PDFs
  • Analyze papers using Gemini
  • Store structured summaries as JSON
  • Build semantic memory using Sentence Transformers and FAISS
  • Retrieve relevant papers using natural language queries
  • Compare papers automatically
  • Identify research gaps and future directions
  • Interactive Streamlit web interface

Project Workflow

User Query

↓

Planner Agent

↓

Check Memory

↓

If memory is enough:
    Retrieve → Compare → Answer

Else:
    Search arXiv
    Download PDFs
    Read PDFs
    Analyze Papers
    Save JSON
    Build FAISS Index
    Retrieve Papers
    Compare
    Answer

Project Structure

medical_research_agent/

├── agents/
│   ├── planner_agent.py
│   ├── executor.py
│   ├── retrieval_agent.py
│   ├── comparison_agent.py
│   ├── research_gap_agent.py
│   └── ingest_agent.py

├── memory/
│   ├── papers/
│   ├── embedder.py
│   ├── vector_store.py
│   ├── build_index.py
│   └── paper_store.py

├── tools/
│   ├── arxiv_search.py
│   ├── pdf_downloader.py
│   └── pdf_reader.py

├── app.py

├── requirements.txt

├── .env.example

└── README.md

Installation

Step 1

Clone the repository

git clone <repo-url>

cd medical_research_agent

Step 2

Create a virtual environment

python -m venv venv

Activate it

Mac/Linux

source venv/bin/activate

Windows

venv\Scripts\activate

Step 3

Install dependencies

pip install -r requirements.txt

Step 4

Create a .env file

GEMINI_API_KEY=your_api_key_here

Running the App

Start Streamlit

streamlit run app.py

Open:

http://localhost:8501

Example Queries

Compare papers

Compare medical Vision Language Models
Compare tabular foundational models state of the art

Research gaps

Suggest research directions in CT Radiomics
Research gaps in Medical Vision Language Models

How Retrieval Works

  1. Research papers are converted into embeddings using Sentence Transformers.

  2. Embeddings are stored in FAISS.

  3. When a user asks a question:

Query

↓

Embedding

↓

FAISS Similarity Search

↓

Top Relevant Papers

↓

Gemini Analysis

↓

Final Report

Agents

Planner Agent

Creates an execution plan.

Example:

Search arXiv

↓

Ingest Papers

↓

Retrieve Memory

↓

Compare Papers

Retrieval Agent

Finds the most relevant papers from memory.


Comparison Agent

Compares:

  • Architecture
  • Datasets
  • Strengths
  • Weaknesses
  • Limitations
  • Future Directions

Research Gap Agent

Finds:

  • Common limitations
  • Missing research areas
  • Novel ideas
  • Future work opportunities

Technologies Used

  • Python
  • Streamlit
  • Google Gemini API
  • Sentence Transformers
  • FAISS
  • arXiv API
  • PyMuPDF
  • Pandas
  • NumPy

Future Improvements

  • Local LLM support using Ollama
  • ReAct style planning
  • PubMed integration
  • Figure and table understanding
  • Citation-aware reports
  • Hybrid retrieval with BM25 + FAISS
  • Multi-agent workflows

License

MIT License

About

Junior AI-Research Assistant which helps you with finding out relevant papers based on your query. Init'ed the repo with medical_research_agent (Plij, don't mind that)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages