diff --git a/docs/swarms/structs/batched_grid_workflow.md b/docs/swarms/structs/batched_grid_workflow.md index 045a41de..e81b01e4 100644 --- a/docs/swarms/structs/batched_grid_workflow.md +++ b/docs/swarms/structs/batched_grid_workflow.md @@ -113,22 +113,33 @@ Internal method that runs the workflow without error handling. ### Basic Usage ```python -from swarms.structs.batched_grid_workflow import BatchedGridWorkflow from swarms import Agent +from swarms.structs.batched_grid_workflow import BatchedGridWorkflow -# Create agents -agent1 = Agent(model="gpt-4", system_prompt="You are a helpful assistant") -agent2 = Agent(model="gpt-4", system_prompt="You are a creative writer") - -# Create workflow -workflow = BatchedGridWorkflow( - agents=[agent1, agent2], - max_loops=1 +# Initialize the ETF-focused agent +agent = Agent( + agent_name="ETF-Research-Agent", + agent_description="Specialized agent for researching, analyzing, and recommending Exchange-Traded Funds (ETFs) across various sectors and markets.", + model_name="claude-sonnet-4-20250514", + dynamic_temperature_enabled=True, + max_loops=1, + dynamic_context_window=True, ) -# Execute tasks -tasks = ["Write a poem about nature", "Analyze market trends"] + +# Create workflow with default settings +workflow = BatchedGridWorkflow(agents=[agent, agent]) + +# Define simple tasks +tasks = [ + "What are the best GOLD ETFs?", + "What are the best american energy ETFs?", +] + +# Run the workflow result = workflow.run(tasks) + +print(result) ``` ### Multi-Loop Execution diff --git a/swarms/structs/swarm_router.py b/swarms/structs/swarm_router.py index 6a74c524..c5b891be 100644 --- a/swarms/structs/swarm_router.py +++ b/swarms/structs/swarm_router.py @@ -11,6 +11,7 @@ from swarms.prompts.multi_agent_collab_prompt import ( ) from swarms.structs.agent import Agent from swarms.structs.agent_rearrange import AgentRearrange +from swarms.structs.batched_grid_workflow import BatchedGridWorkflow from swarms.structs.concurrent_workflow import ConcurrentWorkflow from swarms.structs.council_as_judge import CouncilAsAJudge from swarms.structs.groupchat import GroupChat @@ -396,6 +397,7 @@ class SwarmRouter: "MultiAgentRouter": self._create_multi_agent_router, "SequentialWorkflow": self._create_sequential_workflow, "ConcurrentWorkflow": self._create_concurrent_workflow, + "BatchedGridWorkflow": self._create_batched_grid_workflow, } def _create_heavy_swarm(self, *args, **kwargs): @@ -427,6 +429,16 @@ class SwarmRouter: *args, **kwargs, ) + + + def _create_batched_grid_workflow(self, *args, **kwargs): + """Factory function for BatchedGridWorkflow.""" + return BatchedGridWorkflow( + name=self.name, + description=self.description, + agents=self.agents, + max_loops=self.max_loops, + ) def _create_malt(self, *args, **kwargs): """Factory function for MALT."""