Skip to content

lyang36/ResearchAgent

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

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors