Skip to content

Latest commit

 

History

History
238 lines (198 loc) · 8.88 KB

README.md

File metadata and controls

238 lines (198 loc) · 8.88 KB

🧠 Multi-Agent Research System

Next.js React TypeScript Tailwind CSS FastAPI Python pnpm

MIT License GitHub LinkedIn

📑 Table of Contents

🌟 Overview

The Multi-Agent Research System is a cutting-edge platform designed to revolutionize research by leveraging the power of multiple AI agents. This system allows users to input research topics, and then utilizes a team of specialized agents, orchestrated by LangChain and OpenRouter, to perform in-depth research, analysis, and report generation. The system is built with a modern web development stack, featuring a Next.js frontend and a FastAPI backend.

🚀 Getting Started

  1. Clone the repository:

    git clone https://github.com/BjornMelin/multi-agent-research-system.git
    cd multi-agent-research-system
  2. Install dependencies:

    • Make sure you have pnpm installed:
    npm install -g pnpm
    • Then, install project dependencies
    pnpm install
  3. Run both frontend and backend:

    pnpm run frontend
    pnpm run backend
  4. Open your browser and navigate to http://localhost:3000 for the frontend. The backend will typically run on port 8000.

✨ Features

  • 🤖 Multi-Agent System: Utilizes multiple AI agents, each specialized in tasks like research, analysis, writing, and proofreading.
  • 🧠 Advanced AI Models: Integrates with powerful language models, including DeepSeek-v3, LLaMA3.3-70B-Instruct, GPT-4o, and PHI-4 via OpenRouter.
  • 📝 Research Topic Submission: User-friendly interface for submitting research topics and queries.
  • 🔄 Real-time Progress Updates: Displays real-time updates on the progress of the multi-agent workflow using WebSockets or polling.
  • 📊 Data Visualization: Provides a dashboard to visualize agent outputs and workflow stages.
  • 📄 Report Generation: Automatically generates structured research reports based on agent findings.
  • 📥 Report Download: Allows users to download reports in PDF or DOCX formats.
  • 🗃️ Data Storage: Stores data locally using PostgreSQL and FAISS, with scalability for future AWS deployment.
  • 🔍 Monitoring: Employs Prometheus and Grafana for system performance monitoring.

🗂️ Project Structure

Mermaid Diagram

graph TD
    A[User] --> B(Next.js Frontend);
    B --> C{FastAPI Backend};
    C --> D[Research Agent];
    C --> E[Analysis Agent];
    C --> F[Writing Agent];
    C --> G[Proofreading Agent];
    D --> H[DeepSeek-v3];
    E --> I[Python Libraries];
    F --> J[LLaMA3.3];
    G --> K[PHI-4];
    H --> L[OpenRouter];
    J --> L;
    K --> L;
    C --> M[PostgreSQL];
    C --> N[FAISS];
    C --> O[LocalStack];
    M --> P[User Queries, Workflow States];
    N --> Q[Document Embeddings];
    O --> R[PDFs, DOCXs];
    S[Prometheus] --> C;
    T[Grafana] --> S;
Loading

File Tree

multi-agent-research-system/
├── .gitignore
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── package.json (Root)
├── backend/
│ ├── main.py
│ ├── requirements.txt
│ ├── venv/
│ └── ...
└── frontend/
├── app/
│ ├── about/
│ │ └── page.tsx
│ ├── api/
│ │ └── feedback/
│ │ └── route.ts
│ ├── error.tsx
│ ├── feedback/
│ │ └── page.tsx
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
├── components/
│ ├── forms/
│ │ ├── feedback-form.tsx
│ │ └── research-topic-form.tsx
│ ├── layout/
│ │ ├── footer.tsx
│ │ ├── header.tsx
│ │ └── success-message.tsx
│ ├── pages/
│ │ ├── about-page.tsx
│ │ ├── feedback-page.tsx
│ │ └── home-page.tsx
│ ├── sections/
│ │ ├── cta-section.tsx
│ │ ├── feature-card.tsx
│ │ └── hero-section.tsx
│ ├── theme-provider.tsx
│ └── ui/
│ ├── ... (ShadCN-UI components)
├── hooks/
│ └── use-toast.ts
├── lib/
│ ├── schemas.ts
│ └── utils.ts
├── public/
├── .eslintrc.json
├── components.json
├── next.config.js
├── package.json (Frontend)
├── postcss.config.js
├── tailwind.config.ts
└── tsconfig.json

🛠 Tech Stack

  • Frontend:
  • Backend:
    • Framework: FastAPI
    • Agent Orchestration: LangChain
    • Asynchronous Tasks: Celery or Ray
    • Web Server: Uvicorn
  • Database:
    • Primary Database: PostgreSQL
    • ORM: SQLAlchemy
    • Vector Storage: FAISS (Local), Pinecone/Weaviate (Future)
  • LLM Integration:
    • API Gateway: OpenRouter
    • Models:
      • DeepSeek-v3 (Retrieval, Summarization)
      • LLaMA3.3-70B-Instruct (Report Generation)
      • GPT-4o (Reasoning, Hypothesis Generation)
      • PHI-4 (Proofreading, Grammar)
  • Monitoring:
  • File Storage:
    • Local: LocalStack (AWS S3 Emulation)
    • Cloud (Future): AWS S3
  • Caching:
    • In-Memory Cache: Redis (Future)
  • Package Manager: pnpm

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

👨‍💻 Author

Bjorn Melin

AWS Certified Solutions Architect AWS Certified Developer AWS Certified SysOps Administrator AWS Certified Machine Learning Engineer

AWS-certified Solutions Architect, Developer, SysOps Administrator, and Machine Learning Engineer with expertise in cloud architecture and modern development practices. Connect with me on:

📄 License

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


Built with ❤️ by Bjorn Melin

```