pull/951/merge
Kye Gomez 2 days ago
parent 504f40f2b7
commit 2d558061ba

@ -47,10 +47,9 @@ We invite you to explore these implementations, contribute to our research effor
| Paper Name | Description | Original Paper | Implementation | Status | Key Features | | Paper Name | Description | Original Paper | Implementation | Status | Key Features |
|------------|-------------|----------------|----------------|--------|--------------| |------------|-------------|----------------|----------------|--------|--------------|
| **MALT (Multi-Agent Learning Task)** | A sophisticated orchestration framework that coordinates multiple specialized AI agents to tackle complex tasks through structured conversations. | [arXiv:2412.01928](https://arxiv.org/pdf/2412.01928) | [`swarms.structs.malt`](https://docs.swarms.world/en/latest/swarms/structs/malt/) | ✅ Complete | Creator-Verifier-Refiner architecture, structured conversations, reliability guarantees | | **MALT (Multi-Agent Learning Task)** | A sophisticated orchestration framework that coordinates multiple specialized AI agents to tackle complex tasks through structured conversations. | [arXiv:2412.01928](https://arxiv.org/pdf/2412.01928) | [`swarms.structs.malt`](https://docs.swarms.world/en/latest/swarms/structs/malt/) | ✅ Complete | Creator-Verifier-Refiner architecture, structured conversations, reliability guarantees |
| **MAI-DxO (MAI Diagnostic Orchestrator)** | An open-source implementation of Microsoft Research's "Sequential Diagnosis with Language Models" paper, simulating a virtual panel of physician-agents for iterative medical diagnosis. | Microsoft Research Paper | [GitHub Repository](https://github.com/The-Swarm-Corporation/Open-MAI-Dx-Orchestrator) | ✅ Complete | Cost-effective medical diagnosis, physician-agent panel, iterative refinement | | **[MAI-DxO (MAI Diagnostic Orchestrator)](https://arxiv.org/abs/2506.22405)** | An open-source implementation of Microsoft Research's "[Sequential Diagnosis with Language Models](https://arxiv.org/abs/2506.22405)" paper, simulating a virtual panel of physician-agents for iterative medical diagnosis. | Microsoft Research Paper | [GitHub Repository](https://github.com/The-Swarm-Corporation/Open-MAI-Dx-Orchestrator) | ✅ Complete | Cost-effective medical diagnosis, physician-agent panel, iterative refinement |
| **AI-CoScientist** | A multi-agent AI framework for collaborative scientific research, implementing the "Towards an AI Co-Scientist" methodology with tournament-based hypothesis evolution. | "Towards an AI Co-Scientist" Paper | [GitHub Repository](https://github.com/The-Swarm-Corporation/AI-CoScientist) | ✅ Complete | Tournament-based selection, peer review systems, hypothesis evolution, Elo rating system | | **[AI-CoScientist](https://storage.googleapis.com/coscientist_paper/ai_coscientist.pdf)** | A multi-agent AI framework for collaborative scientific research, implementing the "Towards an AI Co-Scientist" methodology with tournament-based hypothesis evolution. | "Towards an AI Co-Scientist" Paper | [GitHub Repository](https://github.com/The-Swarm-Corporation/AI-CoScientist) | ✅ Complete | Tournament-based selection, peer review systems, hypothesis evolution, Elo rating system |
| **Mixture of Agents (MoA)** | A sophisticated multi-agent architecture that implements parallel processing with iterative refinement, combining diverse expert agents for comprehensive analysis. | Multi-agent collaboration concepts | [`swarms.structs.moa`](https://docs.swarms.world/en/latest/swarms/structs/moa/) | ✅ Complete | Parallel processing, expert agent combination, iterative refinement, state-of-the-art performance | | **[Mixture of Agents (MoA)](https://arxiv.org/abs/2406.04692)** | A sophisticated multi-agent architecture that implements parallel processing with iterative refinement, combining diverse expert agents for comprehensive analysis. | Multi-agent collaboration concepts | [`swarms.structs.moa`](https://docs.swarms.world/en/latest/swarms/structs/moa/) | ✅ Complete | Parallel processing, expert agent combination, iterative refinement, state-of-the-art performance |
| **Open Scientist** | A multi-agent system for scientific research exploration using specialized agents for hypothesis generation, peer review, ranking, evolution, and meta-analysis. | Scientific research methodology | [`examples/demos/open_scientist.py`](https://github.com/kyegomez/swarms/blob/main/examples/demos/open_scientist.py) | ✅ Complete | Hypothesis generation, peer review, ranking, evolution, meta-analysis, proximity control |
| **Deep Research Swarm** | A production-grade research system that conducts comprehensive analysis across multiple domains using parallel processing and advanced AI agents. | Research methodology | [`swarms.structs.deep_research_swarm`](https://docs.swarms.world/en/latest/swarms/structs/deep_research_swarm/) | ✅ Complete | Parallel search processing, multi-agent coordination, information synthesis, concurrent execution | | **Deep Research Swarm** | A production-grade research system that conducts comprehensive analysis across multiple domains using parallel processing and advanced AI agents. | Research methodology | [`swarms.structs.deep_research_swarm`](https://docs.swarms.world/en/latest/swarms/structs/deep_research_swarm/) | ✅ Complete | Parallel search processing, multi-agent coordination, information synthesis, concurrent execution |
| **Agent-as-a-Judge** | An evaluation framework that uses agents to evaluate other agents, implementing the "Agent-as-a-Judge: Evaluate Agents with Agents" methodology. | [arXiv:2410.10934](https://arxiv.org/abs/2410.10934) | [`swarms.agents.agent_judge`](https://docs.swarms.world/en/latest/swarms/agents/agent_judge/) | ✅ Complete | Agent evaluation, quality assessment, automated judging, performance metrics | | **Agent-as-a-Judge** | An evaluation framework that uses agents to evaluate other agents, implementing the "Agent-as-a-Judge: Evaluate Agents with Agents" methodology. | [arXiv:2410.10934](https://arxiv.org/abs/2410.10934) | [`swarms.agents.agent_judge`](https://docs.swarms.world/en/latest/swarms/agents/agent_judge/) | ✅ Complete | Agent evaluation, quality assessment, automated judging, performance metrics |

@ -1,5 +1,6 @@
import requests import requests
def get_example_py_urls(): def get_example_py_urls():
owner = "kyegomez" owner = "kyegomez"
repo = "swarms" repo = "swarms"
@ -7,7 +8,9 @@ def get_example_py_urls():
examples_path = "examples" examples_path = "examples"
api_url = f"https://api.github.com/repos/{owner}/{repo}/git/trees/{branch}?recursive=1" api_url = f"https://api.github.com/repos/{owner}/{repo}/git/trees/{branch}?recursive=1"
raw_base = f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/" raw_base = (
f"https://raw.githubusercontent.com/{owner}/{repo}/{branch}/"
)
response = requests.get(api_url) response = requests.get(api_url)
response.raise_for_status() response.raise_for_status()
@ -25,6 +28,7 @@ def get_example_py_urls():
return example_files return example_files
if __name__ == "__main__": if __name__ == "__main__":
urls = get_example_py_urls() urls = get_example_py_urls()
for url in urls: for url in urls:

@ -11,7 +11,7 @@ Flow:
""" """
import traceback import traceback
from typing import Any, List, Literal, Optional, Union, Callable from typing import Any, Callable, List, Literal, Optional, Union
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
@ -21,15 +21,13 @@ from swarms.prompts.hiearchical_system_prompt import (
from swarms.structs.agent import Agent from swarms.structs.agent import Agent
from swarms.structs.base_swarm import BaseSwarm from swarms.structs.base_swarm import BaseSwarm
from swarms.structs.conversation import Conversation from swarms.structs.conversation import Conversation
from swarms.structs.ma_utils import list_all_agents
from swarms.tools.base_tool import BaseTool
from swarms.utils.history_output_formatter import ( from swarms.utils.history_output_formatter import (
history_output_formatter, history_output_formatter,
) )
from swarms.utils.output_types import OutputType
from swarms.utils.loguru_logger import initialize_logger from swarms.utils.loguru_logger import initialize_logger
from swarms.tools.base_tool import BaseTool from swarms.utils.output_types import OutputType
from swarms.structs.ma_utils import list_all_agents
logger = initialize_logger(log_folder="hierarchical_swarm") logger = initialize_logger(log_folder="hierarchical_swarm")
@ -118,6 +116,7 @@ class HierarchicalSwarm(BaseSwarm):
planning_director_agent: Optional[ planning_director_agent: Optional[
Union[Agent, Callable, Any] Union[Agent, Callable, Any]
] = None, ] = None,
director_feedback_on: bool = True,
*args, *args,
**kwargs, **kwargs,
): ):
@ -150,6 +149,7 @@ class HierarchicalSwarm(BaseSwarm):
self.director_model_name = director_model_name self.director_model_name = director_model_name
self.add_collaboration_prompt = add_collaboration_prompt self.add_collaboration_prompt = add_collaboration_prompt
self.planning_director_agent = planning_director_agent self.planning_director_agent = planning_director_agent
self.director_feedback_on = director_feedback_on
self.init_swarm() self.init_swarm()
@ -354,7 +354,10 @@ class HierarchicalSwarm(BaseSwarm):
if self.verbose: if self.verbose:
logger.info(f"⚡ Executed {len(outputs)} orders") logger.info(f"⚡ Executed {len(outputs)} orders")
feedback = self.feedback_director(outputs) if self.director_feedback_on is True:
feedback = self.feedback_director(outputs)
else:
feedback = outputs
if self.verbose: if self.verbose:
logger.success("✅ Step completed successfully") logger.success("✅ Step completed successfully")
@ -469,7 +472,9 @@ class HierarchicalSwarm(BaseSwarm):
f"Worker Agent Responses: {task}" f"Worker Agent Responses: {task}"
) )
) )
self.conversation.add(role="Director", content=output) self.conversation.add(
role=self.director.agent_name, content=output
)
if self.verbose: if self.verbose:
logger.success( logger.success(

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save