diff --git a/docs/swarms/structs/moa.md b/docs/swarms/structs/moa.md index 4236ebba..2fe489c7 100644 --- a/docs/swarms/structs/moa.md +++ b/docs/swarms/structs/moa.md @@ -169,15 +169,53 @@ For further reading and background information on the concepts used in the `Mixt #### Example 1: Basic Initialization and Run ```python -from swarms import MixtureOfAgents, Agent +from swarms import MixtureOfAgents, Agent, OpenAIOpenAIChat # Define agents -agent1 = Agent(name="Agent1") -agent2 = Agent(name="Agent2") -final_agent = Agent(name="FinalAgent") +director = Agent( + agent_name="Director", + system_prompt="Directs the tasks for the accountants", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="director.json", +) + +# Initialize accountant 1 +accountant1 = Agent( + agent_name="Accountant1", + system_prompt="Prepares financial statements", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant1.json", +) + +# Initialize accountant 2 +accountant2 = Agent( + agent_name="Accountant2", + system_prompt="Audits financial records", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant2.json", +) + # Initialize the MixtureOfAgents -moe_swarm = MixtureOfAgents(agents=[agent1, agent2], final_agent=final_agent) +moe_swarm = MixtureOfAgents(agents=[director, accountant1, accountant2], final_agent=director) # Run the swarm history = moe_swarm.run(task="Perform task X.") @@ -187,19 +225,55 @@ print(history) #### Example 2: Verbose Output and Auto-Save ```python -from swarms import MixtureOfAgents, Agent +from swarms import MixtureOfAgents, Agent, OpenAIOpenAIChat + +# Define Agents +# Define agents +director = Agent( + agent_name="Director", + system_prompt="Directs the tasks for the accountants", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="director.json", +) -# Define +# Initialize accountant 1 +accountant1 = Agent( + agent_name="Accountant1", + system_prompt="Prepares financial statements", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant1.json", +) - agents -agent1 = Agent(name="Agent1") -agent2 = Agent(name="Agent2") -final_agent = Agent(name="FinalAgent") +# Initialize accountant 2 +accountant2 = Agent( + agent_name="Accountant2", + system_prompt="Audits financial records", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant2.json", +) # Initialize the MixtureOfAgents with verbose output and auto-save enabled moe_swarm = MixtureOfAgents( - agents=[agent1, agent2], - final_agent=final_agent, + agents=[director, accountant1, accountant2], + final_agent=director, verbose=True, auto_save=True ) @@ -212,17 +286,55 @@ print(history) #### Example 3: Custom Rules and Multiple Layers ```python -from swarms import MixtureOfAgents, Agent +from swarms import MixtureOfAgents, Agent, OpenAIOpenAIChat # Define agents -agent1 = Agent(name="Agent1") -agent2 = Agent(name="Agent2") -final_agent = Agent(name="FinalAgent") +# Initialize the director agent +director = Agent( + agent_name="Director", + system_prompt="Directs the tasks for the accountants", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="director.json", +) + +# Initialize accountant 1 +accountant1 = Agent( + agent_name="Accountant1", + system_prompt="Prepares financial statements", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant1.json", +) + +# Initialize accountant 2 +accountant2 = Agent( + agent_name="Accountant2", + system_prompt="Audits financial records", + llm=OpenAIChat(), + max_loops=1, + dashboard=False, + streaming_on=True, + verbose=True, + stopping_token="", + state_save_file_type="json", + saved_state_path="accountant2.json", +) # Initialize the MixtureOfAgents with custom rules and multiple layers moe_swarm = MixtureOfAgents( - agents=[agent1, agent2], - final_agent=final_agent, + agents=[director, accountant1, accountant2], + final_agent=director, layers=5, rules="Custom rules for the swarm" ) diff --git a/movers_swarm.py b/playground/swarms/movers_swarm.py similarity index 100% rename from movers_swarm.py rename to playground/swarms/movers_swarm.py diff --git a/playground/swarms/relocation_swarm b/playground/swarms/relocation_swarm new file mode 100644 index 00000000..e69de29b