Skip to content

AI-powered research recommendation system that analyzes Google Scholar profiles, discovers trends, recommends papers and conferences using LangGraph and Google Gemini

Notifications You must be signed in to change notification settings

VROCKSONI786/Research-Recommender-AIagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Research Recommender AI Agent

An intelligent agentic workflow that analyzes Google Scholar profiles, discovers research trends, recommends papers and conferences, and generates comprehensive personalized reports.

Table of Contents


Overview

The Research Recommender AI Agent automates the tedious process of staying updated in research by:

  1. Analyzing your Google Scholar profile to extract research interests, citation metrics, and collaboration networks
  2. Discovering latest research news from trusted sources in your domains
  3. Recommending recent papers published by other researchers in your field
  4. Finding upcoming conferences (IEEE, ACM, and academic) relevant to your work
  5. Generating AI-powered insights including collaboration opportunities and emerging trends
  6. Creating professional reports in DOCX/PDF format with all findings
  7. Providing an interactive chat interface to explore recommendations

Perfect for researchers, PhD students, and academics who want to:

  • Stay updated with minimal effort
  • Discover collaboration opportunities
  • Find relevant conferences to submit papers
  • Track emerging trends in their field

Key Features

Agentic Workflow

  • LangGraph-based state machine for reliable multi-step execution
  • Error-resilient pipeline that continues even if individual steps fail
  • Caching to avoid redundant API calls (3600s TTL)

Comprehensive Profile Analysis

  • Extracts research interests from profile and publication titles
  • Computes citation metrics (total citations)
  • Identifies collaborators with affiliations
  • Lists all publications sorted by year

Real-Time Research Intelligence

  • Fetches latest news from research domains using Tavily Search
  • Discovers recent papers (last 4 years) excluding author's own work
  • Groups papers by research topic for easy browsing

Conference Discovery

  • Finds upcoming conferences (IEEE, ACM, academic)
  • Filters by research interests and past conference history
  • Provides CFP links, dates, locations, and countdown timers

AI-Powered Insights

  • Collaboration suggestions based on research interests and network
  • Trend analysis identifying emerging methodologies and hot topics
  • Uses Google Gemini 2.0 Flash for intelligent summarization

Professional Reporting

  • Generates DOCX reports with embedded hyperlinks
  • Optional PDF export (Windows only, requires Word)
  • Markdown-to-DOCX conversion with proper formatting
  • Includes all tabs: Profile, News, Papers, Conferences, Insights

Interactive Chat UI

  • Streamlit-based web interface for conversational exploration
  • Real-time data fetching with progress indicators
  • Tabbed interface for organized information viewing
  • Email reports directly from the UI

Architecture

┌─────────────────────────────────────────────────────────────┐
│                     USER INPUT                              │
│            (Google Scholar URL or Name)                     │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                  LANGGRAPH WORKFLOW                         │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  1. Fetch Profile (SerpAPI)                          │   │
│  │     ├─ Extract interests from papers (Gemini)        │   │
│  │     ├─ Get citation metrics                          │   │
│  │     ├─ Extract collaborators                         │   │
│  │     └─ Get all publications                          │   │
│  └──────────────────────────────────────────────────────┘   │
│                      ▼                                      │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  2. Fetch News (Tavily Search)                       │   │
│  │     ├─ Search for latest research news               │   │
│  │     └─ Summarize with Gemini                         │   │
│  └──────────────────────────────────────────────────────┘   │
│                      ▼                                      │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  3. Fetch Papers (SerpAPI Google Scholar)            │   │
│  │     ├─ Search by research topics                     │   │
│  │     ├─ Filter by year (last 4 years)                 │   │
│  │     ├─ Exclude author's papers                       │   │
│  │     └─ Create tabular summaries (Gemini)             │   │
│  └──────────────────────────────────────────────────────┘   │
│                      ▼                                      │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  4. Fetch Conferences (Multi-source)                 │   │
│  │     ├─ Search IEEE conferences (SerpAPI + Tavily)    │   │
│  │     ├─ Search academic conferences (Tavily + Gemini) │   │
│  │     ├─ Extract dates and locations                   │   │
│  │     └─ Filter by relevance and timeline              │   │
│  └──────────────────────────────────────────────────────┘   │
│                      ▼                                      │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  5. Generate Insights (Gemini)                       │   │
│  │     ├─ Collaboration suggestions                     │   │
│  │     └─ Research trends analysis                      │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│               REPORT GENERATION                             │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  - Parse Markdown to DOCX                            │   │
│  │  - Add hyperlinks, tables, formatting                │   │
│  │  - Optional PDF export (via docx2pdf)                │   │
│  │  - Email delivery support                            │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────┬───────────────────────────────────────┘
                      │
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                  OUTPUT DELIVERY                            │
│     CLI: File paths printed                                 │
│     Streamlit: Download buttons + Email option              │
└─────────────────────────────────────────────────────────────┘

Technology Stack:

  • LangGraph: Workflow orchestration
  • Google Gemini 2.0 Flash: LLM for summarization and analysis
  • SerpAPI: Google Scholar scraping
  • Tavily: Web search for news and conferences
  • python-docx: Report generation
  • Streamlit: Web UI
  • BeautifulSoup: HTML parsing for conference scraping

Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone <repository-url>
    cd Research-Recommender-AIagent
  2. Create virtual environment

    python -m venv .venv
  3. Activate virtual environment

    • Windows (PowerShell):
      .venv\Scripts\Activate.ps1
    • Windows (CMD):
      .venv\Scripts\activate.bat
    • Linux/Mac:
      source .venv/bin/activate
  4. Install dependencies

    pip install -r requirements.txt
  5. Set up environment variables (see next section)


Environment Configuration

Create a .env file in the project root:

# Required API Keys
GOOGLE_API_KEY=your_gemini_api_key_here
SERPAPI_API_KEY=your_serpapi_key_here
TAVILY_API_KEY=your_tavily_key_here

# Optional: Model Configuration
GEMINI_MODEL=gemini-2.0-flash-exp

# Optional: Cache Settings
CACHE_ENABLED=true
CACHE_TTL=3600

# Optional: Performance
MAX_CONCURRENT=5
REQUEST_TIMEOUT=30

# Optional: Email Configuration (for Streamlit email feature)
EMAIL_FROM=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587

Getting API Keys

  1. Google Gemini API Key (Free tier available)

  2. SerpAPI Key (100 searches/month free)

  3. Tavily API Key (1000 searches/month free)

  4. Email Configuration (Optional, for report delivery)


Usage

Option 1: Command Line Interface (CLI)

Basic usage:

python -m src.cli --scholar-url "https://scholar.google.com/citations?user=XXXX"

With all options:

python -m src.cli \
  --scholar-url "https://scholar.google.com/citations?user=XXXX" \
  --out "output/my_report.docx" \
  --pdf \
  --max-papers 15 \
  --max-conferences 20 \
  --include-conferences \
  --verbose

CLI Arguments:

  • --scholar-url: Google Scholar URL or author name (required)
  • --out: Output file path (default: out/report.docx)
  • --pdf: Also export as PDF
  • --max-papers: Papers per topic (default: 20)
  • --max-conferences: Max conferences to fetch (default: 10)
  • --include-conferences: Include conferences in report
  • --verbose: Show detailed progress

Option 2: Streamlit Chat UI (Recommended)

  1. Start the Streamlit app

    streamlit run app/chat.py
  2. Open the browser (usually http://localhost:8501)

  3. Enter Google Scholar URL in the sidebar

  4. Click "Fetch Profile" to load researcher data

  5. Use the buttons to fetch news, papers, conferences

  6. Chat with the agent in the main tab

  7. Generate report and download or email it

UI Features:

  • Profile Tab: View complete researcher profile, metrics, collaborators
  • News Tab: Latest research news summaries
  • Papers Tab: Recommended papers organized by topic
  • Conferences Tab: Upcoming conference listings
  • Insights Tab: AI-generated collaboration and trend analysis
  • Chat Tab: Ask questions about research, get recommendations

Future Enhancements

Planned Features

  • Support for arXiv, PubMed, ACM Digital Library
  • Multi-author comparison reports
  • Citation network visualization
  • Automated email scheduling (weekly/monthly digests)
  • Export to LaTeX/HTML
  • Integration with reference managers (Zotero, Mendeley)

Made by Diya Shah & Vrutik Soni

About

AI-powered research recommendation system that analyzes Google Scholar profiles, discovers trends, recommends papers and conferences using LangGraph and Google Gemini

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages