Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResearchOS — Autonomous Multi-Agent Intelligence Pipeline

License: MIT Python: 3.10+ FastAPI React Vite LLM: Llama 3.3 70B Orchestration: LangGraph

ResearchOS is an autonomous multi-agent research engine designed to perform deep, high-fidelity web research, content extraction, synthesis, and critical auditing in real time. Powered by Groq high-speed inference (Llama 3.3 70B Versatile), Tavily Web Search, and LangChain / LangGraph, ResearchOS orchestrates a team of specialized AI agents working sequentially in a Directed Acyclic Graph (DAG) pipeline.


Overview & Key Capabilities

  • Autonomous Multi-Agent Workflow: Sequential collaboration between 4 specialized agents (Search, Reader, Writer, Critic).
  • Ultra-Fast Inference: Driven by Groq's low-latency Llama 3.3 70B model for fast, comprehensive research reports.
  • Real-Time Live Web Discovery: Uses Tavily AI Search API to fetch high-authority web pages and raw search snippets.
  • Deep Web Scraping & Noise Reduction: BeautifulSoup4 extracts high-signal text while stripping script, navigation, and advertisement clutter.
  • Adversarial Quality Auditing: Dedicated Critic agent performs strict evaluations, outputting numerical quality scores (0-10), strengths, and key areas for improvement.
  • Modern Interactive Dashboard: High-aesthetic React frontend featuring live agent phase tracking, interactive DAG visualization, execution logs, research history, and clean Markdown rendering.
  • Production Ready Deployment: Pre-configured render.yaml for instant cloud deployment on Render.

System Architecture

ResearchOS utilizes a Directed Acyclic Graph (DAG) workflow where data passes through distinct cognitive stages. Each agent enriches the system state before passing control to the next specialist.

graph TD
    User([User Research Query]) -->|1. Research Topic| SearchAgent[Search Agent]
    SearchAgent -->|2. Web URLs & Snippets| ReaderAgent[Reader Agent]
    ReaderAgent -->|3. Clean Scraped Content| WriterChain[Writer Chain]
    WriterChain -->|4. Structured Markdown Report| CriticChain[Critic Chain]
    CriticChain -->|5. Verified Report + Score & Audit Notes| UI[Interactive Research Dashboard]

    subgraph Agent Workforce
        SearchAgent
        ReaderAgent
        WriterChain
        CriticChain
    end
Loading

Agent Breakdown

Agent / Chain Role Tools / Model Responsibilities & Outputs
Search Agent Web Explorer Tavily Search API
Llama-3.3-70b-versatile
Queries live web search engines, discovers high-authority sources, and extracts search result metadata.
Reader Agent Content Scraper BeautifulSoup4
Requests
Parses top target URLs, removes ads/script noise, and isolates core signals into clean text data blocks.
Writer Chain Synthesis Expert LangChain Expression Language
Llama-3.3-70b-versatile
Synthesizes scraped content into a structured executive report complete with findings, conclusions, and cited sources.
Critic Chain Quality Auditor LangChain Expression Language
Llama-3.3-70b-versatile
Conducts adversarial evaluation of the draft report, assigning a score (0-10), listing strengths, and noting improvement areas.

Repository Structure

Multi-agent-research-system/
├── backend/
│   ├── agents.py           # Definition of Search, Reader, Writer, and Critic agents/chains
│   ├── main.py             # FastAPI server with CORS, ThreadPoolExecutor, and API routes
│   ├── pipeline.py         # Sequential execution workflow (run_research_pipeline)
│   ├── tools.py            # Custom tools: web_search (Tavily) & scrape_url (BS4)
│   ├── requirements.txt    # Python backend dependencies
│   ├── README.md           # Backend specific documentation
│   └── .env.example        # Environment variable template
├── frontend/
│   ├── src/
│   │   ├── App.jsx         # React interactive dashboard & pipeline visualization
│   │   ├── App.css         # Component-level styling & custom scrollbars
│   │   ├── index.css       # Global design tokens, dark theme & responsive layouts
│   │   └── main.jsx        # React application entry point
│   ├── package.json        # Frontend dependencies (React 19, Framer Motion, Lucide)
│   ├── vite.config.js      # Vite build configuration
│   └── README.md           # Frontend setup guide
├── render.yaml             # Render deployment configuration specification
└── README.md               # Main project documentation

Quick Start & Setup

Prerequisites


1. Environment Setup

Create a .env file inside the backend/ directory:

cp backend/.env.example backend/.env

Add your API keys to backend/.env:

GROQ_API_KEY=gsk_your_groq_api_key_here
TAVILY_API_KEY=tvly-your_tavily_api_key_here

2. Backend Setup & Local Server

  1. Navigate to the backend directory:

    cd backend
  2. Create and activate a Python virtual environment:

    • Linux / macOS:
      python3 -m venv .venv
      source .venv/bin/activate
    • Windows (PowerShell):
      python -m venv .venv
      .\.venv\Scripts\Activate.ps1
  3. Install required Python packages:

    pip install -r requirements.txt
  4. Launch the FastAPI backend server:

    python main.py

    The API will be available at http://localhost:8000. API documentation is automatically accessible at http://localhost:8000/docs.


3. Frontend Setup & UI Launch

  1. Open a new terminal window and navigate to the frontend directory:

    cd frontend
  2. Install Node dependencies:

    npm install
  3. Start the Vite development server:

    npm run dev
  4. Open your browser and navigate to http://localhost:5173.


API Reference

POST /api/research

Executes the autonomous multi-agent research pipeline for a given topic.

Request Body

{
  "topic": "Latest advancements in quantum computing hardware 2026"
}

Response Structure

{
  "search_results": "Raw web search snippets and metadata...",
  "scraped_content": "Extracted full-text article content...",
  "report": "# Executive Summary\n\nQuantum computing has made significant strides...",
  "feedback": "Score: 9/10\n\nStrengths:\n- Thorough coverage of superconducting qubits...\n\nAreas to Improve:\n- Could expand on neutral atom approaches.\n\nOne line verdict: Excellent executive summary."
}

Built With


Deployment

Render Deployment (Backend)

The repository includes a ready-to-use render.yaml specification:

  1. Connect your GitHub repository to Render.
  2. Select Blueprint deployment.
  3. Set the required environment variables (GROQ_API_KEY and TAVILY_API_KEY) in the Render Dashboard.
  4. Deploy!

License

Distributed under the MIT License. See LICENSE for details.

Releases

Packages

Contributors

Languages