Skip to content

Latest commit

Β 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– AI Researcher Agent

AI Researcher Agent Python Streamlit License

A cutting-edge Multi-Agent System for Research Β· Discovery Β· Automation

Features β€’ Demo β€’ Installation β€’ Usage β€’ API β€’ Contributing


πŸ“‹ Table of Contents


🌟 Overview

AI Researcher Agent is a sophisticated multi-agent research platform that leverages artificial intelligence to conduct comprehensive research, analyze data, and generate structured reports. Built with a stunning, modern UI and powered by advanced AI models, it provides researchers, students, and professionals with an intelligent assistant for their research needs.

Key Highlights

✨ AI-Powered Research - Utilizes advanced language models for intelligent research
πŸš€ Lightning Fast - Get comprehensive results in seconds
🎯 Accurate Analysis - Multi-agent system ensures precision and reliability
πŸ”’ Secure & Private - Enterprise-grade security for your data
πŸ“Š Structured Reports - Well-organized, downloadable research outputs
πŸ’¬ Interactive Chat - Natural conversation interface for queries


✨ Features

πŸ” Authentication System

  • Secure user registration and login
  • JWT token-based authentication
  • Session management
  • Password encryption

πŸ’¬ Research Chat Interface

  • Interactive conversational AI
  • Real-time research generation
  • Chat history persistence
  • Export conversations as Markdown
  • Copy to clipboard functionality

πŸ“Š Research Management

  • View detailed research reports
  • Download reports in Markdown format
  • Delete and manage research data
  • Track research history
  • Status monitoring

πŸ§ͺ API Testing Dashboard

  • Health check monitoring
  • Endpoint testing interface
  • Response time tracking
  • JSON response visualization
  • Real-time status indicators

🎨 Premium UI/UX

  • Modern glass morphism design
  • Animated gradient backgrounds
  • Smooth transitions and hover effects
  • Responsive layout for all devices
  • Dark mode optimized
  • Custom scrollbars and styling

🎬 Demo

Home Dashboard

Home Dashboard Beautiful landing page with authentication and research history

Research Chat

Research Chat Interactive AI-powered research assistant with real-time generation

View Research

View Research Detailed research reports with management options

API Testing

API Testing Developer-friendly API testing dashboard


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     Frontend (Streamlit)                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚    Home     β”‚  β”‚    Chat     β”‚  β”‚   View Research     β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                          β”‚
β”‚  β”‚  API Test   β”‚  β”‚ Auth System β”‚                          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β”‚ REST API
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     Backend API Server                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚    Auth     β”‚  β”‚  Research   β”‚  β”‚   User Management   β”‚ β”‚
β”‚  β”‚  Endpoints  β”‚  β”‚  Endpoints  β”‚  β”‚     Endpoints       β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Multi-Agent AI System                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  Research   β”‚  β”‚  Analysis   β”‚  β”‚   Report Generation β”‚ β”‚
β”‚  β”‚    Agent    β”‚  β”‚    Agent    β”‚  β”‚        Agent        β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Installation

Prerequisites

  • Python 3.9 or higher
  • pip (Python package manager)
  • Virtual environment (recommended)

Step 1: Clone the Repository

git clone https://github.com/yourusername/ai-researcher-agent.git
cd ai-researcher-agent

Step 2: Create Virtual Environment

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate

Step 3: Install Dependencies

pip install -r requirements.txt

Step 4: Set Up Environment Variables

Create a .env file in the root directory:

# API Configuration
API_BASE_URL=http://localhost:8000
API_TIMEOUT=30

# Security
SECRET_KEY=your-secret-key-here
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=60

# AI Model Configuration
AI_MODEL=gpt-4
MAX_ITERATIONS=5
TEMPERATURE=0.7

# Database (if applicable)
DATABASE_URL=postgresql://user:password@localhost/dbname

Step 5: Run the Application

streamlit run 1_🏠_Home.py

The application will be available at http://localhost:8501


βš™οΈ Configuration

config.py

SESSION_KEYS = {
    "token": None,
    "user_info": None,
    "current_research_id": None,
    "messages": []
}

API_ENDPOINTS = {
    "register": "/api/v1/auth/register",
    "login": "/api/v1/auth/login",
    "user": "/api/v1/users/me",
    "research": "/api/v1/research",
    "history": "/api/v1/research/history"
}

Customization Options

You can customize the following in the UI:

  • Theme Colors: Modify gradient values in the CSS sections
  • Animation Speed: Adjust animation duration in @keyframes
  • API Timeout: Change timeout values in utils.py
  • Max Iterations: Configure AI research depth in environment variables

πŸ“– Usage

1. User Registration & Login

# Register a new user
1. Navigate to Home page
2. Click on "Register" tab in sidebar
3. Enter username, email, and password
4. Click "Create Account"

# Login
1. Click on "Login" tab
2. Enter credentials
3. Click "Login"

2. Start Research

# Chat Interface
1. Navigate to "Chat Research" page
2. Type your research query in the chat input
3. Press Enter or click send
4. Wait for AI to generate comprehensive report
5. Download or copy the results

3. View Research History

# View Previous Research
1. Navigate to "View Research" page
2. Enter Research ID or select from history
3. Click "Load Research"
4. View detailed report
5. Download as Markdown or Delete

4. API Testing

# Test API Endpoints
1. Navigate to "API Test" page
2. Click "Check API Health" for health check
3. Select authenticated endpoint
4. Click "Run Test" to execute
5. View response data and metrics

πŸ”Œ API Documentation

Authentication Endpoints

Register User

POST /api/v1/auth/register
Content-Type: application/json

{
  "username": "string",
  "email": "string",
  "password": "string"
}

Response:

{
  "id": 1,
  "username": "john_doe",
  "email": "john@example.com",
  "created_at": "2025-12-26T21:29:00"
}

Login

POST /api/v1/auth/login
Content-Type: application/x-www-form-urlencoded

username=string&password=string

Response:

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "username": "john_doe",
  "email": "john@example.com"
}

Research Endpoints

Create Research

POST /api/v1/research
Authorization: Bearer {token}
Content-Type: application/json

{
  "query": "Give me a complete 10 days roadmap to learn Vector DB Pinecone",
  "max_iterations": 2
}

Response:

{
  "id": 8,
  "query": "Give me a complete 10 days roadmap...",
  "status": "completed",
  "final_report": "# 10-Day Pinecone Learning Roadmap...",
  "created_at": "2025-12-26T21:29:00"
}

Get Research History

GET /api/v1/research/history?limit=20
Authorization: Bearer {token}

Response:

[
  {
    "id": 8,
    "query": "Give me a complete 10 days roadmap...",
    "status": "completed",
    "created_at": "2025-12-26T21:29:00"
  }
]

Get Research by ID

GET /api/v1/research/{research_id}
Authorization: Bearer {token}

Delete Research

DELETE /api/v1/research/{research_id}
Authorization: Bearer {token}

User Endpoints

Get Current User

GET /api/v1/users/me
Authorization: Bearer {token}

Response:

{
  "id": 1,
  "username": "john_doe",
  "email": "john@example.com",
  "created_at": "2025-12-25T10:00:00"
}

πŸ“ Project Structure

ai-researcher-agent/
β”‚
β”œβ”€β”€ 1_🏠_Home.py                    # Main home page
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ 1_πŸ’¬_Chat_Research.py      # Research chat interface
β”‚   β”œβ”€β”€ 2_πŸ“Š_View_Research.py      # View research details
β”‚   └── 3_πŸ§ͺ_API_Test.py           # API testing dashboard
β”‚
β”œβ”€β”€ config.py                       # Configuration settings
β”œβ”€β”€ utils.py                        # Utility functions
β”‚
β”œβ”€β”€ requirements.txt                # Python dependencies
β”œβ”€β”€ .env                           # Environment variables
β”œβ”€β”€ .gitignore                     # Git ignore rules
β”‚
β”œβ”€β”€ screenshots/                   # UI screenshots
β”‚   β”œβ”€β”€ home.png
β”‚   β”œβ”€β”€ chat.png
β”‚   β”œβ”€β”€ view.png
β”‚   └── api-test.png
β”‚
β”œβ”€β”€ README.md                      # This file
└── LICENSE                        # MIT License

πŸ› οΈ Technologies

Frontend

  • Streamlit - Web application framework
  • HTML/CSS - Custom styling and animations
  • JavaScript - Interactive elements

Backend

  • Python - Core programming language
  • FastAPI - REST API framework (assumed)
  • JWT - Authentication tokens

AI/ML

  • OpenAI GPT - Language model for research
  • LangChain - Multi-agent orchestration
  • Vector Databases - Semantic search

Styling

  • Glass Morphism - Modern UI design
  • Gradient Animations - Dynamic backgrounds
  • Custom CSS - Responsive design

🀝 Contributing

We welcome contributions! Please follow these steps:

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

Contribution Guidelines

  • Follow PEP 8 style guide for Python code
  • Write clear commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting PR

πŸ“ License

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

MIT License

Copyright (c) 2025 AI Researcher Agent

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

πŸ™ Acknowledgments

  • Streamlit Team - For the amazing web framework
  • OpenAI - For powerful language models
  • Community Contributors - For valuable feedback and contributions

πŸ“ž Support

Having Issues?

FAQ

Q: How do I reset my password?
A: Currently, password reset is handled through the backend API. Contact support for assistance.

Q: Can I use my own AI model?
A: Yes! Configure your model in the .env file under AI_MODEL setting.

Q: Is there a usage limit?
A: Depends on your API backend configuration. Check with your backend administrator.

Q: How secure is my data?
A: All data is encrypted, and we use JWT tokens for authentication. Your research is private.


πŸ—ΊοΈ Roadmap

Version 2.0 (Upcoming)

  • Multi-language support
  • Voice input for research queries
  • Export to PDF format
  • Team collaboration features
  • Advanced analytics dashboard

Version 3.0 (Future)

  • Mobile application
  • Browser extension
  • Integration with popular research tools
  • Custom AI model training
  • Advanced visualization tools

⭐ Star History

If you find this project useful, please consider giving it a star!

Star History Chart


Made with ❀️ by the AI Researcher Agent Team

Website β€’ Documentation β€’ Twitter

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages