Skip to content

lyang36/ResearchAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Enhanced Research Assistant πŸ”¬

An AI-powered research assistant that helps you analyze papers, discover related work, and generate research proposals with both CLI and web interfaces.

Research Assistant Demo Python License

✨ Features

πŸ€– AI-Powered Analysis

  • Multi-Agent System: Specialized agents for different research tasks
  • Paper Analysis: Deep analysis of research papers from various sources
  • Literature Search: Automated discovery of related papers
  • Research Synthesis: Intelligent synthesis of findings across papers
  • Proposal Generation: AI-generated research proposals based on analysis

πŸ“„ Multiple Input Formats

  • arXiv URLs: Direct processing of arXiv papers
  • PDF Files: Local PDF document analysis
  • LaTeX Content: Direct LaTeX text processing
  • Plain Text: General text analysis capabilities

🌐 Dual Interface

  • Command Line Interface: Interactive terminal-based research sessions
  • Web Interface: Modern, responsive web UI with real-time updates
  • Session Persistence: Save and load research contexts
  • Real-time Processing: Live status updates and streaming responses

πŸ” Advanced Capabilities

  • Mid-Session Paper Addition: Add new papers during ongoing research
  • Context-Aware Analysis: Maintains research context across sessions
  • Multi-Source Search: arXiv and Google Scholar integration
  • Intelligent Synthesis: Connects findings across multiple papers
  • Research Proposal Refinement: Iterative improvement of research ideas

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • OpenAI API key

Installation

  1. Clone the repository
git clone https://github.com/yourusername/enhanced-research-assistant.git
cd enhanced-research-assistant
  1. Install dependencies
pip install -r requirements_research.txt
pip install flask flask-socketio  # For web interface
  1. Set up environment
export OPENAI_API_KEY="your-openai-api-key-here"

Usage

Command Line Interface

python enhanced_research_assistant.py

Web Interface

python web_app.py

Then open http://localhost:52609 in your browser.

πŸ’‘ Usage Examples

Adding Papers

# Add arXiv paper
add https://arxiv.org/abs/2301.00001

# Add local PDF
add /path/to/paper.pdf

# Add LaTeX content
add "\\title{My Paper}\\begin{abstract}..."

Research Commands

# Search for related papers
search transformer architecture

# Analyze specific aspects
analyze methodology

# Investigate authors
authors Attention Is All You Need

# Get research summary
summary

# Refine research proposal
refine proposal

Web Interface Features

  • Quick Actions: One-click buttons for common tasks
  • Real-time Chat: Interactive conversation with the AI
  • Context Panel: Live view of research context
  • Paper Upload Modal: Easy paper addition interface
  • Session Management: Save/load research sessions

πŸ—οΈ Architecture

Core Components

  • EnhancedResearchAssistant: Main orchestrator class
  • PaperProcessor: Handles multiple input formats
  • Multi-Agent System: Specialized AI agents for different tasks
  • WebResearchSession: Web interface session management

AI Agents

  • Paper Analyzer: Deep analysis of individual papers
  • Literature Searcher: Discovery of related work
  • Research Synthesizer: Cross-paper synthesis
  • Proposal Writer: Research proposal generation

Web Stack

  • Backend: Flask + SocketIO for real-time communication
  • Frontend: Modern HTML5/CSS3/JavaScript with WebSocket
  • Session Management: UUID-based session tracking
  • Async Processing: Background task processing

πŸ“ Project Structure

enhanced-research-assistant/
β”œβ”€β”€ enhanced_research_assistant.py  # Main CLI application
β”œβ”€β”€ web_app.py                     # Web interface server
β”œβ”€β”€ templates/
β”‚   └── index.html                 # Web UI template
β”œβ”€β”€ requirements_research.txt      # Python dependencies
β”œβ”€β”€ FEATURES_SUMMARY.md           # Detailed feature documentation
β”œβ”€β”€ research_context.json         # Example saved context
└── README.md                     # This file

πŸ”§ Configuration

Environment Variables

  • OPENAI_API_KEY: Required for AI functionality
  • FLASK_ENV: Set to 'development' for debug mode

Customization

  • Modify agent prompts in enhanced_research_assistant.py
  • Adjust web interface styling in templates/index.html
  • Configure search parameters and result limits

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built on top of the AutoGen framework
  • Powered by OpenAI's GPT models
  • Inspired by the need for better research tools

πŸ“ž Support

  • Create an issue for bug reports or feature requests
  • Check the FEATURES_SUMMARY.md for detailed documentation
  • Review example usage in the repository

Happy Researching! πŸŽ“βœ¨# ResearchAgent

About

A research agent based on AutoAgent.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published