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.
- 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
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
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
Clone the repository
git clone <repo-url>
cd medical_research_agentCreate a virtual environment
python -m venv venvActivate it
Mac/Linux
source venv/bin/activateWindows
venv\Scripts\activateInstall dependencies
pip install -r requirements.txtCreate a .env file
GEMINI_API_KEY=your_api_key_here
Start Streamlit
streamlit run app.pyOpen:
http://localhost:8501
Compare medical Vision Language Models
Compare tabular foundational models state of the art
Suggest research directions in CT Radiomics
Research gaps in Medical Vision Language Models
-
Research papers are converted into embeddings using Sentence Transformers.
-
Embeddings are stored in FAISS.
-
When a user asks a question:
Query
↓
Embedding
↓
FAISS Similarity Search
↓
Top Relevant Papers
↓
Gemini Analysis
↓
Final Report
Creates an execution plan.
Example:
Search arXiv
↓
Ingest Papers
↓
Retrieve Memory
↓
Compare Papers
Finds the most relevant papers from memory.
Compares:
- Architecture
- Datasets
- Strengths
- Weaknesses
- Limitations
- Future Directions
Finds:
- Common limitations
- Missing research areas
- Novel ideas
- Future work opportunities
- Python
- Streamlit
- Google Gemini API
- Sentence Transformers
- FAISS
- arXiv API
- PyMuPDF
- Pandas
- NumPy
- 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
MIT License