Skip to content

Deep Research Swarm

Overview

The Deep Research Swarm is a powerful, production-grade research system that conducts comprehensive analysis across multiple domains using parallel processing and advanced AI agents.

Key Features:

  • Parallel search processing

  • Multi-agent research coordination

  • Advanced information synthesis

  • Automated query generation

  • Concurrent task execution

Getting Started

Quick Installation

pip install swarms
from swarms.structs import DeepResearchSwarm

# Initialize the swarm
swarm = DeepResearchSwarm(
    name="MyResearchSwarm",
    output_type="json",
    max_loops=1
)

# Run a single research task
results = swarm.run("What are the latest developments in quantum computing?")
# Run multiple research tasks in parallel
tasks = [
    "What are the environmental impacts of electric vehicles?",
    "How is AI being used in drug discovery?",
]
batch_results = swarm.batched_run(tasks)

Configuration

Constructor Arguments

Parameter Type Default Description
name str "DeepResearchSwarm" Name identifier for the swarm
description str "A swarm that conducts..." Description of the swarm's purpose
research_agent Agent research_agent Custom research agent instance
max_loops int 1 Maximum number of research iterations
nice_print bool True Enable formatted console output
output_type str "json" Output format ("json" or "string")
max_workers int CPU_COUNT * 2 Maximum concurrent threads
token_count bool False Enable token counting
research_model_name str "gpt-4o-mini" Model to use for research

Core Methods

Run

Single Task Execution

results = swarm.run("What are the latest breakthroughs in fusion energy?")

Batched Run

Parallel Task Execution

tasks = [
    "What are current AI safety initiatives?",
    "How is CRISPR being used in agriculture?",
]
results = swarm.batched_run(tasks)

Step

Single Step Execution

results = swarm.step("Analyze recent developments in renewable energy storage")

Domain-Specific Examples

science_swarm = DeepResearchSwarm(
    name="ScienceSwarm",
    output_type="json",
    max_loops=2  # More iterations for thorough research
)

results = science_swarm.run(
    "What are the latest experimental results in quantum entanglement?"
)
market_swarm = DeepResearchSwarm(
    name="MarketSwarm",
    output_type="json"
)

results = market_swarm.run(
    "What are the emerging trends in electric vehicle battery technology market?"
)
news_swarm = DeepResearchSwarm(
    name="NewsSwarm",
    output_type="string"  # Human-readable output
)

results = news_swarm.run(
    "What are the global economic impacts of recent geopolitical events?"
)
medical_swarm = DeepResearchSwarm(
    name="MedicalSwarm",
    max_loops=2
)

results = medical_swarm.run(
    "What are the latest clinical trials for Alzheimer's treatment?"
)

Advanced Features

Custom Research Agent
from swarms import Agent

custom_agent = Agent(
    agent_name="SpecializedResearcher",
    system_prompt="Your specialized prompt here",
    model_name="gpt-4"
)

swarm = DeepResearchSwarm(
    research_agent=custom_agent,
    max_loops=2
)
Parallel Processing Control
swarm = DeepResearchSwarm(
    max_workers=8,  # Limit to 8 concurrent threads
    nice_print=False  # Disable console output for production
)

Best Practices

Recommended Practices

  1. Query Formulation: Be specific and clear in your research queries
  2. Resource Management: Adjust max_workers based on your system's capabilities
  3. Output Handling: Use appropriate output_type for your use case
  4. Error Handling: Implement try-catch blocks around swarm operations
  5. Model Selection: Choose appropriate models based on research complexity

Limitations

Known Limitations

  • Requires valid API keys for external services

  • Performance depends on system resources

  • Rate limits may apply to external API calls

  • Token limits apply to model responses