swarms 7.7.1__tar.gz → 7.7.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. {swarms-7.7.1 → swarms-7.7.3}/PKG-INFO +98 -263
  2. {swarms-7.7.1 → swarms-7.7.3}/README.md +94 -262
  3. {swarms-7.7.1 → swarms-7.7.3}/pyproject.toml +5 -2
  4. swarms-7.7.3/swarms/prompts/ag_prompt.py +85 -0
  5. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/agent_system_prompts.py +13 -4
  6. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/multi_agent_collab_prompt.py +18 -0
  7. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/prompt.py +6 -10
  8. {swarms-7.7.1 → swarms-7.7.3}/swarms/schemas/__init__.py +0 -3
  9. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/__init__.py +3 -8
  10. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/agent.py +211 -163
  11. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/aop.py +8 -1
  12. swarms-7.7.3/swarms/structs/auto_swarm_builder.py +365 -0
  13. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/conversation.py +23 -56
  14. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/hiearchical_swarm.py +93 -122
  15. swarms-7.7.3/swarms/structs/ma_utils.py +96 -0
  16. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/mixture_of_agents.py +20 -103
  17. swarms-7.7.1/swarms/structs/multi_agent_orchestrator.py → swarms-7.7.3/swarms/structs/multi_agent_router.py +32 -95
  18. swarms-7.7.3/swarms/structs/output_types.py +6 -0
  19. swarms-7.7.3/swarms/structs/stopping_conditions.py +68 -0
  20. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_router.py +57 -5
  21. swarms-7.7.3/swarms/structs/swarming_architectures.py +858 -0
  22. {swarms-7.7.1 → swarms-7.7.3}/swarms/telemetry/main.py +6 -2
  23. swarms-7.7.3/swarms/tools/mcp_client.py +246 -0
  24. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/mcp_integration.py +1 -53
  25. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/formatter.py +15 -1
  26. swarms-7.7.3/swarms/utils/generate_keys.py +64 -0
  27. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/history_output_formatter.py +2 -0
  28. swarms-7.7.1/swarms/prompts/ag_prompt.py +0 -53
  29. swarms-7.7.1/swarms/schemas/agent_input_schema.py +0 -149
  30. swarms-7.7.1/swarms/structs/agents_available.py +0 -87
  31. swarms-7.7.1/swarms/structs/async_workflow.py +0 -818
  32. swarms-7.7.1/swarms/structs/auto_swarm_builder.py +0 -304
  33. swarms-7.7.1/swarms/structs/graph_swarm.py +0 -612
  34. swarms-7.7.1/swarms/structs/octotools.py +0 -844
  35. swarms-7.7.1/swarms/structs/output_types.py +0 -19
  36. swarms-7.7.1/swarms/structs/pulsar_swarm.py +0 -469
  37. swarms-7.7.1/swarms/structs/queue_swarm.py +0 -193
  38. swarms-7.7.1/swarms/structs/stopping_conditions.py +0 -38
  39. swarms-7.7.1/swarms/structs/swarm_builder.py +0 -395
  40. swarms-7.7.1/swarms/structs/swarm_load_balancer.py +0 -344
  41. swarms-7.7.1/swarms/structs/swarm_output_type.py +0 -23
  42. swarms-7.7.1/swarms/structs/swarming_architectures.py +0 -467
  43. swarms-7.7.1/swarms/structs/talk_hier.py +0 -729
  44. swarms-7.7.1/swarms/tools/mcp_client.py +0 -90
  45. {swarms-7.7.1 → swarms-7.7.3}/LICENSE +0 -0
  46. {swarms-7.7.1 → swarms-7.7.3}/swarms/__init__.py +0 -0
  47. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/__init__.py +0 -0
  48. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/agent_judge.py +0 -0
  49. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/agent_print.py +0 -0
  50. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/ape_agent.py +0 -0
  51. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/auto_generate_swarm_config.py +0 -0
  52. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/consistency_agent.py +0 -0
  53. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/create_agents_from_yaml.py +0 -0
  54. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/flexion_agent.py +0 -0
  55. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/gkp_agent.py +0 -0
  56. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/i_agent.py +0 -0
  57. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/openai_assistant.py +0 -0
  58. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/reasoning_agents.py +0 -0
  59. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/reasoning_duo.py +0 -0
  60. {swarms-7.7.1 → swarms-7.7.3}/swarms/agents/tool_agent.py +0 -0
  61. {swarms-7.7.1 → swarms-7.7.3}/swarms/artifacts/__init__.py +0 -0
  62. {swarms-7.7.1 → swarms-7.7.3}/swarms/artifacts/main_artifact.py +0 -0
  63. {swarms-7.7.1 → swarms-7.7.3}/swarms/cli/__init__.py +0 -0
  64. {swarms-7.7.1 → swarms-7.7.3}/swarms/cli/create_agent.py +0 -0
  65. {swarms-7.7.1 → swarms-7.7.3}/swarms/cli/main.py +0 -0
  66. {swarms-7.7.1 → swarms-7.7.3}/swarms/cli/onboarding_process.py +0 -0
  67. {swarms-7.7.1 → swarms-7.7.3}/swarms/client/__init__.py +0 -0
  68. {swarms-7.7.1 → swarms-7.7.3}/swarms/client/main.py +0 -0
  69. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/__init__.py +0 -0
  70. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/accountant_swarm_prompts.py +0 -0
  71. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/aga.py +0 -0
  72. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/agent_judge_prompt.py +0 -0
  73. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/agent_prompt.py +0 -0
  74. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/agent_prompts.py +0 -0
  75. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/ai_research_team.py +0 -0
  76. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/aot_prompt.py +0 -0
  77. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/autobloggen.py +0 -0
  78. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/autoswarm.py +0 -0
  79. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/chat_prompt.py +0 -0
  80. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/code_interpreter.py +0 -0
  81. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/code_spawner.py +0 -0
  82. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/debate.py +0 -0
  83. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/documentation.py +0 -0
  84. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/education.py +0 -0
  85. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/finance_agent_prompt.py +0 -0
  86. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/finance_agent_sys_prompt.py +0 -0
  87. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/growth_agent_prompt.py +0 -0
  88. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/idea2img.py +0 -0
  89. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/legal_agent_prompt.py +0 -0
  90. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/logistics.py +0 -0
  91. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/meta_system_prompt.py +0 -0
  92. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/multi_modal_autonomous_instruction_prompt.py +0 -0
  93. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/multi_modal_prompts.py +0 -0
  94. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/multi_modal_visual_prompts.py +0 -0
  95. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/operations_agent_prompt.py +0 -0
  96. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/paper_idea_agent.py +0 -0
  97. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/personal_stylist.py +0 -0
  98. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/product_agent_prompt.py +0 -0
  99. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/programming.py +0 -0
  100. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/project_manager.py +0 -0
  101. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/prompt_generator.py +0 -0
  102. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/prompt_generator_optimizer.py +0 -0
  103. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/python.py +0 -0
  104. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/react.py +0 -0
  105. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/reasoning_prompt.py +0 -0
  106. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/refiner_agent_prompt.py +0 -0
  107. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/sales.py +0 -0
  108. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/sales_prompts.py +0 -0
  109. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/security_team.py +0 -0
  110. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/self_operating_prompt.py +0 -0
  111. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/sop_generator_agent_prompt.py +0 -0
  112. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/summaries_prompts.py +0 -0
  113. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/support_agent_prompt.py +0 -0
  114. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/swarm_manager_agent.py +0 -0
  115. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/task_assignment_prompt.py +0 -0
  116. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/tests.py +0 -0
  117. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/tools.py +0 -0
  118. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/urban_planning.py +0 -0
  119. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/visual_cot.py +0 -0
  120. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/worker_prompt.py +0 -0
  121. {swarms-7.7.1 → swarms-7.7.3}/swarms/prompts/xray_swarm_prompt.py +0 -0
  122. {swarms-7.7.1 → swarms-7.7.3}/swarms/schemas/agent_step_schemas.py +0 -0
  123. {swarms-7.7.1 → swarms-7.7.3}/swarms/schemas/base_schemas.py +0 -0
  124. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/agent_builder.py +0 -0
  125. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/agent_registry.py +0 -0
  126. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/agent_roles.py +0 -0
  127. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/agent_router.py +0 -0
  128. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/base_structure.py +0 -0
  129. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/base_swarm.py +0 -0
  130. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/base_workflow.py +0 -0
  131. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/concat.py +0 -0
  132. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/concurrent_workflow.py +0 -0
  133. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/csv_to_agent.py +0 -0
  134. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/de_hallucination_swarm.py +0 -0
  135. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/deep_research_swarm.py +0 -0
  136. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/dynamic_conversational_swarm.py +0 -0
  137. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/graph_workflow.py +0 -0
  138. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/groupchat.py +0 -0
  139. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/hybrid_hiearchical_peer_swarm.py +0 -0
  140. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/majority_voting.py +0 -0
  141. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/malt.py +0 -0
  142. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/matrix_swarm.py +0 -0
  143. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/meme_agent_persona_generator.py +0 -0
  144. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/model_router.py +0 -0
  145. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/multi_agent_collab.py +0 -0
  146. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/multi_agent_exec.py +0 -0
  147. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/omni_agent_types.py +0 -0
  148. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/rearrange.py +0 -0
  149. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/round_robin.py +0 -0
  150. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/safe_loading.py +0 -0
  151. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/sequential_workflow.py +0 -0
  152. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/spreadsheet_swarm.py +0 -0
  153. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_arange.py +0 -0
  154. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_eval.py +0 -0
  155. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_id_generator.py +0 -0
  156. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_matcher.py +0 -0
  157. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/swarm_registry.py +0 -0
  158. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/tree_swarm.py +0 -0
  159. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/utils.py +0 -0
  160. {swarms-7.7.1 → swarms-7.7.3}/swarms/structs/various_alt_swarms.py +0 -0
  161. {swarms-7.7.1 → swarms-7.7.3}/swarms/telemetry/__init__.py +0 -0
  162. {swarms-7.7.1 → swarms-7.7.3}/swarms/telemetry/bootup.py +0 -0
  163. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/__init__.py +0 -0
  164. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/base_tool.py +0 -0
  165. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/cohere_func_call_schema.py +0 -0
  166. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/func_calling_utils.py +0 -0
  167. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/func_to_str.py +0 -0
  168. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/function_util.py +0 -0
  169. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/json_former.py +0 -0
  170. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/json_utils.py +0 -0
  171. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/logits_processor.py +0 -0
  172. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/openai_func_calling_schema_pydantic.py +0 -0
  173. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/openai_tool_creator_decorator.py +0 -0
  174. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/py_func_to_openai_func_str.py +0 -0
  175. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/pydantic_to_json.py +0 -0
  176. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/tool_parse_exec.py +0 -0
  177. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/tool_registry.py +0 -0
  178. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/tool_schema_base_model.py +0 -0
  179. {swarms-7.7.1 → swarms-7.7.3}/swarms/tools/tool_utils.py +0 -0
  180. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/__init__.py +0 -0
  181. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/any_to_str.py +0 -0
  182. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/auto_download_check_packages.py +0 -0
  183. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/calculate_func_metrics.py +0 -0
  184. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/data_to_text.py +0 -0
  185. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/disable_logging.py +0 -0
  186. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/file_processing.py +0 -0
  187. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/function_caller_model.py +0 -0
  188. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/litellm_tokenizer.py +0 -0
  189. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/litellm_wrapper.py +0 -0
  190. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/loguru_logger.py +0 -0
  191. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/markdown_message.py +0 -0
  192. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/parse_code.py +0 -0
  193. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/pdf_to_text.py +0 -0
  194. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/str_to_dict.py +0 -0
  195. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/try_except_wrapper.py +0 -0
  196. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/visualizer.py +0 -0
  197. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/vllm_wrapper.py +0 -0
  198. {swarms-7.7.1 → swarms-7.7.3}/swarms/utils/wrapper_clusterop.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: swarms
3
- Version: 7.7.1
3
+ Version: 7.7.3
4
4
  Summary: Swarms - TGSC
5
5
  Home-page: https://github.com/kyegomez/swarms
6
6
  License: MIT
@@ -18,11 +18,14 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
19
  Requires-Dist: PyYAML
20
20
  Requires-Dist: aiofiles
21
+ Requires-Dist: aiohttp
21
22
  Requires-Dist: asyncio (>=3.4.3,<4.0)
22
23
  Requires-Dist: docstring_parser (==0.16)
24
+ Requires-Dist: fastmcp
23
25
  Requires-Dist: httpx
24
26
  Requires-Dist: litellm
25
27
  Requires-Dist: loguru
28
+ Requires-Dist: mcp
26
29
  Requires-Dist: networkx
27
30
  Requires-Dist: numpy
28
31
  Requires-Dist: psutil
@@ -40,7 +43,7 @@ Description-Content-Type: text/markdown
40
43
 
41
44
  <div align="center">
42
45
  <a href="https://swarms.world">
43
- <img src="https://github.com/kyegomez/swarms/blob/master/images/swarmslogobanner.png" style="margin: 15px; max-width: 300px" width="50%" alt="Logo">
46
+ <img src="https://github.com/kyegomez/swarms/blob/master/images/swarmslogobanner.png" style="margin: 15px; max-width: 500px" width="50%" alt="Logo">
44
47
  </a>
45
48
  </div>
46
49
  <p align="center">
@@ -59,9 +62,11 @@ Description-Content-Type: text/markdown
59
62
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
60
63
  <a href="https://discord.gg/jM3Z6M9uMq">📢 Discord</a>
61
64
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
62
- <a href="https://swarms.world">Swarms Platform</a>
65
+ <a href="https://swarms.ai">Swarms Website</a>
63
66
  <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
64
67
  <a href="https://docs.swarms.world">📙 Documentation</a>
68
+ <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>
69
+ <a href="https://swarms.world"> Swarms Marketplace</a>
65
70
  </p>
66
71
 
67
72
  <p align="center">
@@ -75,7 +80,7 @@ Description-Content-Type: text/markdown
75
80
  <a href="https://www.linkedin.com/in/kye-g-38759a207/">
76
81
  <img src="https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white" alt="LinkedIn">
77
82
  </a>
78
- <a href="https://x.com/kyegomezb">
83
+ <a href="https://x.com/swarms_corp">
79
84
  <img src="https://img.shields.io/badge/X.com-Follow-1DA1F2?style=for-the-badge&logo=x&logoColor=white" alt="X.com">
80
85
  </a>
81
86
  </p>
@@ -150,15 +155,6 @@ Description-Content-Type: text/markdown
150
155
  | 🎯 Use Case Support | • Task-Specific Agents<br>• Custom Workflows<br>• Industry Solutions<br>• Extensible Framework | • Quick deployment<br>• Flexible solutions<br>• Industry readiness<br>• Easy customization |
151
156
 
152
157
 
153
- ----
154
-
155
- ## Requirements
156
- - `python3.10` or above!
157
- - `$ pip install -U swarms` And, don't forget to install swarms!
158
- - `.env` file with API keys from your providers like `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`
159
- - Set an `.env` Variable with your desired workspace dir: `WORKSPACE_DIR="agent_workspace"` or do it in your terminal with `export WORKSPACE_DIR="agent_workspace"`
160
- - Finally, `swarms onboarding` to get you started.
161
-
162
158
  ## Guides and Walkthroughs
163
159
  Refer to our documentation for production grade implementation details.
164
160
 
@@ -178,46 +174,60 @@ Refer to our documentation for production grade implementation details.
178
174
 
179
175
 
180
176
  ## Install 💻
181
- Install the following packages with copy and paste
182
177
 
178
+ ### Using pip
183
179
  ```bash
184
- $ pip3 install -U swarms swarms-memory
180
+ $ pip3 install -U swarms
185
181
  ```
186
182
 
183
+ ### Using uv (Recommended)
184
+ [uv](https://github.com/astral-sh/uv) is a fast Python package installer and resolver, written in Rust.
187
185
 
188
- ## [Optional] Onboarding
186
+ ```bash
187
+ # Install uv
188
+ $ curl -LsSf https://astral.sh/uv/install.sh | sh
189
189
 
190
- Now that you have downloaded swarms with `pip3 install -U swarms`, we get access to the `CLI`. Get Onboarded with CLI Now with:
190
+ # Install swarms using uv
191
+ $ uv pip install swarms
192
+ ```
191
193
 
194
+ ### Using poetry
192
195
  ```bash
193
- swarms onboarding
194
- ```
196
+ # Install poetry if you haven't already
197
+ $ curl -sSL https://install.python-poetry.org | python3 -
195
198
 
196
- You can also run this command for help:
199
+ # Add swarms to your project
200
+ $ poetry add swarms
201
+ ```
197
202
 
203
+ ### From source
198
204
  ```bash
199
- swarms help
200
- ```
205
+ # Clone the repository
206
+ $ git clone https://github.com/kyegomez/swarms.git
207
+ $ cd swarms
201
208
 
202
- For more documentation on the CLI [CLICK HERE](https://docs.swarms.world/en/latest/swarms/cli/main/)
209
+ # Install with pip
210
+ $ pip install -e .
211
+ ```
203
212
 
204
213
  ---
205
214
 
206
- # Usage Examples 🤖
207
- Here are some example scripts to get you started. For more comprehensive documentation, visit our [docs](https://docs.swarms.world/en/latest/).
208
-
209
- | Example Name | Description | Type of Examples | Link |
210
- | --- | --- | --- | --- |
211
- | Swarms Examples | A collection of simple examples to demonstrate Swarms capabilities. | Basic Usage | [https://github.com/The-Swarm-Corporation/swarms-examples?tab=readme-ov-file](https://github.com/The-Swarm-Corporation/swarms-examples?tab=readme-ov-file) |
212
- | Cookbook | A comprehensive guide with recipes for various use cases and scenarios. | Advanced Usage | [https://github.com/The-Swarm-Corporation/Cookbook](https://github.com/The-Swarm-Corporation/Cookbook) |
213
-
215
+ ## Environment Configuration
214
216
 
217
+ ```
218
+ OPENAI_API_KEY=""
219
+ WORKSPACE_DIR="agent_workspace"
220
+ ANTHROPIC_API_KEY=""
221
+ GROQ_API_KEY=""
222
+ ```
215
223
 
224
+ - [Learn more about the environment configuration here](https://docs.swarms.world/en/latest/swarms/install/env/)
216
225
 
217
226
  ---
218
227
 
219
228
  ## `Agent` Class
220
- The `Agent` class is a fundamental component of the Swarms framework, designed to execute tasks autonomously. It fuses llms, tools and long-term memory capabilities to create a full stack agent. The `Agent` class is highly customizable, allowing for fine-grained control over its behavior and interactions.
229
+ The `Agent` class is a customizable autonomous component of the Swarms framework that integrates LLMs, tools, and long-term memory. Its `run` method processes text tasks and optionally handles image inputs through vision-language models.
230
+
221
231
 
222
232
  ```mermaid
223
233
  graph TD
@@ -230,8 +240,6 @@ graph TD
230
240
  G --> C
231
241
  ```
232
242
 
233
- ### `run` Method
234
- The `run` method is the primary entry point for executing tasks with an `Agent` instance. It accepts a task string as the main input task and processes it according to the agent's configuration. And, it can also accept an `img` parameter such as `img="image_filepath.png` to process images if you have a VLM attached such as `GPT4VisionAPI`
235
243
 
236
244
 
237
245
 
@@ -253,6 +261,7 @@ agent.run("What is the current market trend for tech stocks?")
253
261
  ```
254
262
 
255
263
  ### Settings and Customization
264
+
256
265
  The `Agent` class offers a range of settings to tailor its behavior to specific needs. Some key settings include:
257
266
 
258
267
  | Setting | Description | Default Value |
@@ -308,6 +317,7 @@ agent.run(
308
317
  -----
309
318
 
310
319
  ### Integrating RAG with Swarms for Enhanced Long-Term Memory
320
+
311
321
  `Agent` equipped with quasi-infinite long term memory using RAG (Relational Agent Graph) for advanced document understanding, analysis, and retrieval capabilities.
312
322
 
313
323
  **Mermaid Diagram for RAG Integration**
@@ -820,40 +830,8 @@ print(json.dumps(response, indent=4))
820
830
 
821
831
 
822
832
  ### `SequentialWorkflow`
823
- Sequential Workflow enables you to sequentially execute tasks with `Agent` and then pass the output into the next agent and onwards until you have specified your max loops.
824
-
825
- ```mermaid
826
- graph LR
827
- A[Agent 1] --> B[Agent 2]
828
- B --> C[Agent 3]
829
- C --> D[Agent 4]
830
- D --> E[Max Loops]
831
- E --> F[End]
832
- ```
833
-
834
-
835
-
836
- ### Methods
837
-
838
- | Method | Description | Parameters | Return Value |
839
- |--------|-------------|------------|--------------|
840
- | `__init__` | Initialize the SequentialWorkflow | `agents`: List of Agent objects<br>`max_loops`: Maximum number of iterations<br>`verbose`: Boolean for verbose output | None |
841
- | `run` | Execute the workflow | `input_data`: Initial input for the first agent | Final output after all agents have processed |
842
-
843
- ### Inputs
844
-
845
- | Input | Type | Description |
846
- |-------|------|-------------|
847
- | `agents` | List[Agent] | List of Agent objects to be executed sequentially |
848
- | `max_loops` | int | Maximum number of times the entire sequence will be repeated |
849
- | `verbose` | bool | If True, print detailed information during execution |
850
-
851
- ### Output
852
-
853
- The `run` method returns the final output after all agents have processed the input sequentially.
854
-
855
- In this example, each `Agent` represents a task that is executed sequentially. The output of each agent is passed to the next agent in the sequence until the maximum number of loops is reached. This workflow is particularly useful for tasks that require a series of steps to be executed in a specific order, such as data processing pipelines or complex calculations that rely on the output of previous steps.
856
833
 
834
+ The SequentialWorkflow in the Swarms framework enables sequential task execution across multiple Agent objects. Each agent's output serves as input for the next agent in the sequence, continuing until reaching the specified maximum number of loops (max_loops). This workflow is particularly well-suited for tasks requiring a specific order of operations, such as data processing pipelines. To learn more, visit: [Learn More](https://docs.swarms.world/en/latest/swarms/structs/sequential_workflow/)
857
835
 
858
836
  ```python
859
837
  import os
@@ -1043,32 +1021,10 @@ print(
1043
1021
 
1044
1022
  ------
1045
1023
 
1046
- ## `AgentRearrange`
1047
-
1048
- The `AgentRearrange` orchestration technique, inspired by Einops and einsum, allows you to define and map out the relationships between various agents. It provides a powerful tool for orchestrating complex workflows, enabling you to specify linear and sequential relationships such as `a -> a1 -> a2 -> a3`, or concurrent relationships where the first agent sends a message to 3 agents simultaneously: `a -> a1, a2, a3`. This level of customization allows for the creation of highly efficient and dynamic workflows, where agents can work in parallel or in sequence as needed. The `AgentRearrange` technique is a valuable addition to the swarms library, providing a new level of flexibility and control over the orchestration of agents. For more detailed information and examples, please refer to the [official documentation](https://docs.swarms.world/en/latest/swarms/structs/agent_rearrange/).
1049
-
1050
- [Check out my video on agent rearrange!](https://youtu.be/Rq8wWQ073mg)
1051
-
1052
-
1053
-
1054
- ### Methods
1055
-
1056
- | Method | Description | Parameters | Return Value |
1057
- |--------|-------------|------------|--------------|
1058
- | `__init__` | Initialize the AgentRearrange | `agents`: List of Agent objects<br>`flow`: String describing the agent flow | None |
1059
- | `run` | Execute the workflow | `input_data`: Initial input for the first agent | Final output after all agents have processed |
1060
-
1061
- ### Inputs
1062
-
1063
- | Input | Type | Description |
1064
- |-------|------|-------------|
1065
- | `agents` | List[Agent] | List of Agent objects to be orchestrated |
1066
- | `flow` | str | String describing the flow of agents (e.g., "A -> B, C") |
1067
1024
 
1068
- ### Output
1069
-
1070
- The `run` method returns the final output after all agents have processed the input according to the specified flow.
1025
+ ## `AgentRearrange`
1071
1026
 
1027
+ The `AgentRearrange` orchestration technique, inspired by Einops and einsum, enables you to define and map relationships between multiple agents. This powerful tool facilitates the orchestration of complex workflows by allowing you to specify both linear and concurrent relationships. For example, you can create sequential workflows like `a -> a1 -> a2 -> a3` or parallel workflows where a single agent distributes tasks to multiple agents simultaneously: `a -> a1, a2, a3`. This flexibility enables the creation of highly efficient and dynamic workflows, with agents operating either in parallel or sequence as required. As a valuable addition to the swarms library, `AgentRearrange` provides enhanced flexibility and precise control over agent orchestration. For comprehensive information and examples, visit the [official documentation](https://docs.swarms.world/en/latest/swarms/structs/agent_rearrange/). [Watch my video tutorial on agent rearrange!](https://youtu.be/Rq8wWQ073mg)
1072
1028
 
1073
1029
 
1074
1030
 
@@ -1255,80 +1211,46 @@ if __name__ == "__main__":
1255
1211
 
1256
1212
  ```
1257
1213
 
1258
- ## `HierarhicalSwarm`
1259
- Coming soon...
1260
-
1261
-
1262
- ## `GraphSwarm`
1263
-
1264
-
1265
- The `GraphSwarm` is a workflow management system designed to orchestrate complex tasks by leveraging the power of graph theory. It enables the creation of a directed acyclic graph (DAG) to model dependencies between tasks and agents. This allows for efficient task assignment, execution, and monitoring.
1266
-
1267
- Here's a breakdown of how the `GraphSwarm` works:
1268
-
1269
- 1. **Node Creation**: The `GraphSwarm` workflow is composed of nodes, which can be either agents or tasks. Agents are responsible for executing tasks, and tasks represent specific operations that need to be performed. In the example, two agents (`agent1` and `agent2`) and one task (`task1`) are created.
1270
- 2. **Edge Definition**: Edges are used to define the relationships between nodes. In this case, edges are created to connect `agent1` and `agent2` to `task1`, indicating that both agents are capable of executing `task1`.
1271
- 3. **Entry and End Points**: The `GraphSwarm` workflow requires the definition of entry points (where the workflow starts) and end points (where the workflow concludes). In this example, `agent1` and `agent2` are set as entry points, and `task1` is set as the end point.
1272
- 4. **Visualization**: The `GraphSwarm` provides a visualization feature to graphically represent the workflow. This allows for easy understanding and debugging of the workflow structure.
1273
- 5. **Execution**: The `GraphSwarm` workflow is executed by traversing the graph from the entry points to the end points. In this case, both `agent1` and `agent2` execute `task1` concurrently, and the results are collected.
1274
- 6. **Results**: The final results of the workflow execution are aggregated and returned. In this example, the result of executing `task1` is "Task completed".
1275
-
1276
- The `GraphSwarm` offers several benefits, including:
1277
-
1278
- * **Concurrency**: Enables the execution of tasks concurrently, improving overall workflow efficiency.
1279
- * **Flexibility**: Allows for dynamic task assignment based on agent availability and task requirements.
1280
- * **Scalability**: Supports the addition of new agents and tasks as needed, making it suitable for large-scale workflows.
1281
- * **Visualization**: Provides a graphical representation of the workflow, facilitating understanding and debugging.
1282
-
1283
- By leveraging the `GraphSwarm`, complex workflows can be efficiently managed, and tasks can be executed in a coordinated and scalable manner.
1284
1214
 
1215
+ ------------
1285
1216
 
1286
1217
 
1287
- ### Methods
1218
+ ## `HierarhicalSwarm`
1219
+ Coming soon...
1288
1220
 
1289
- | Method | Description | Parameters | Return Value |
1290
- |--------|-------------|------------|--------------|
1291
- | `add_node` | Add a node to the graph | `node`: Node object | None |
1292
- | `add_edge` | Add an edge to the graph | `edge`: Edge object | None |
1293
- | `set_entry_points` | Set the entry points of the graph | `entry_points`: List of node IDs | None |
1294
- | `set_end_points` | Set the end points of the graph | `end_points`: List of node IDs | None |
1295
- | `visualize` | Generate a visual representation of the graph | None | String representation of the graph |
1296
- | `run` | Execute the workflow | None | Dictionary of execution results |
1297
1221
 
1298
- ### Inputs
1222
+ -----------------
1299
1223
 
1300
- | Input | Type | Description |
1301
- |-------|------|-------------|
1302
- | `Node` | Object | Represents a node in the graph (agent or task) |
1303
- | `Edge` | Object | Represents an edge connecting two nodes |
1304
- | `entry_points` | List[str] | List of node IDs where the workflow starts |
1305
- | `end_points` | List[str] | List of node IDs where the workflow ends |
1224
+ ## `GraphWorkflow`
1306
1225
 
1307
- ### Output
1308
1226
 
1309
- The `run` method returns a dictionary containing the execution results of all nodes in the graph.
1227
+ GraphWorkflow is a workflow management system using a directed acyclic graph (DAG) to orchestrate complex tasks. Nodes (agents or tasks) and edges define dependencies, with agents executing tasks concurrently. It features entry/end points, visualization for debugging, and scalability for dynamic task assignment. Benefits include concurrency, flexibility, scalability, and clear workflow visualization. [Learn more:](https://docs.swarms.world/en/latest/swarms/structs/graph_swarm/) The `run` method returns a dictionary containing the execution results of all nodes in the graph.
1310
1228
 
1311
1229
 
1312
1230
 
1313
1231
  ```python
1314
- import os
1315
-
1316
- from dotenv import load_dotenv
1317
-
1318
-
1319
1232
  from swarms import Agent, Edge, GraphWorkflow, Node, NodeType
1320
1233
 
1321
- from swarm_models import OpenAIChat
1322
-
1323
- load_dotenv()
1324
-
1325
- api_key = os.environ.get("OPENAI_API_KEY")
1234
+ # Initialize agents with model_name parameter
1235
+ agent1 = Agent(
1236
+ agent_name="Agent1",
1237
+ model_name="openai/gpt-4o-mini", # Using provider prefix
1238
+ temperature=0.5,
1239
+ max_tokens=4000,
1240
+ max_loops=1,
1241
+ autosave=True,
1242
+ dashboard=True,
1243
+ )
1326
1244
 
1327
- llm = OpenAIChat(
1328
- temperature=0.5, openai_api_key=api_key, max_tokens=4000
1245
+ agent2 = Agent(
1246
+ agent_name="Agent2",
1247
+ model_name="openai/gpt-4o-mini", # Using provider prefix
1248
+ temperature=0.5,
1249
+ max_tokens=4000,
1250
+ max_loops=1,
1251
+ autosave=True,
1252
+ dashboard=True,
1329
1253
  )
1330
- agent1 = Agent(llm=llm, max_loops=1, autosave=True, dashboard=True)
1331
- agent2 = Agent(llm=llm, max_loops=1, autosave=True, dashboard=True)
1332
1254
 
1333
1255
  def sample_task():
1334
1256
  print("Running sample task")
@@ -1337,9 +1259,8 @@ def sample_task():
1337
1259
  wf_graph = GraphWorkflow()
1338
1260
  wf_graph.add_node(Node(id="agent1", type=NodeType.AGENT, agent=agent1))
1339
1261
  wf_graph.add_node(Node(id="agent2", type=NodeType.AGENT, agent=agent2))
1340
- wf_graph.add_node(
1341
- Node(id="task1", type=NodeType.TASK, callable=sample_task)
1342
- )
1262
+ wf_graph.add_node(Node(id="task1", type=NodeType.TASK, callable=sample_task))
1263
+
1343
1264
  wf_graph.add_edge(Edge(source="agent1", target="task1"))
1344
1265
  wf_graph.add_edge(Edge(source="agent2", target="task1"))
1345
1266
 
@@ -1348,36 +1269,16 @@ wf_graph.set_end_points(["task1"])
1348
1269
 
1349
1270
  print(wf_graph.visualize())
1350
1271
 
1351
- # Run the workflow
1352
1272
  results = wf_graph.run()
1353
1273
  print("Execution results:", results)
1354
-
1355
1274
  ```
1356
1275
 
1357
- ## `MixtureOfAgents`
1358
- This is an implementation based on the paper: "Mixture-of-Agents Enhances Large Language Model Capabilities" by together.ai, available at [https://arxiv.org/abs/2406.04692](https://arxiv.org/abs/2406.04692). It achieves state-of-the-art (SOTA) results on AlpacaEval 2.0, MT-Bench, and FLASK, surpassing GPT-4 Omni. This architecture is particularly suitable for tasks that require parallelization followed by sequential processing in another loop.
1359
-
1360
-
1361
-
1362
- ### Methods
1363
-
1364
- | Method | Description | Parameters | Return Value |
1365
- |--------|-------------|------------|--------------|
1366
- | `__init__` | Initialize the MixtureOfAgents | `name`: Name of the swarm<br>`agents`: List of Agent objects<br>`layers`: Number of processing layers<br>`final_agent`: Agent for final processing | None |
1367
- | `run` | Execute the swarm | `task`: Input task for the swarm | Final output after all agents have processed |
1368
-
1369
- ### Inputs
1276
+ -----
1370
1277
 
1371
- | Input | Type | Description |
1372
- |-------|------|-------------|
1373
- | `name` | str | Name of the swarm |
1374
- | `agents` | List[Agent] | List of Agent objects to be used in the swarm |
1375
- | `layers` | int | Number of processing layers in the swarm |
1376
- | `final_agent` | Agent | Agent responsible for final processing |
1377
1278
 
1378
- ### Output
1279
+ ## `MixtureOfAgents`
1379
1280
 
1380
- The `run` method returns the final output after all agents have processed the input according to the specified layers and final agent.
1281
+ The MixtureOfAgents architecture, inspired by together.ai's paper (arXiv:2406.04692), achieves SOTA performance on AlpacaEval 2.0, MT-Bench, and FLASK, surpassing GPT-4 Omni. It processes tasks via parallel agent collaboration and sequential layering, with documentation [HERE](https://docs.swarms.world/en/latest/swarms/structs/moa/)
1381
1282
 
1382
1283
 
1383
1284
  ```python
@@ -1520,42 +1421,12 @@ print(out)
1520
1421
 
1521
1422
  ```
1522
1423
 
1424
+ -------
1523
1425
 
1524
1426
  ## SpreadSheetSwarm
1525
- The `SpreadSheetSwarm` is designed for concurrent management and oversight of thousands of agents, facilitating a one-to-many approach for efficient task processing and output analysis.
1526
-
1527
- ### Key Features
1528
-
1529
- * **Concurrency**: Enables the simultaneous execution of multiple agents, significantly reducing processing time and increasing overall system efficiency.
1530
- * **One-to-Many**: Allows a single task to be dynamically distributed among multiple agents, ensuring that each agent is utilized to its full potential.
1531
- * **Scalability**: Supports the integration of thousands of agents, making it an ideal solution for large-scale task processing and data analysis.
1532
-
1533
-
1534
- ### Methods
1535
-
1536
- | Method | Description | Parameters | Return Value |
1537
- |--------|-------------|------------|--------------|
1538
- | `__init__` | Initialize the SpreadSheetSwarm | `name`: Name of the swarm<br>`description`: Description of the swarm<br>`agents`: List of Agent objects<br>`autosave_on`: Boolean to enable autosave<br>`save_file_path`: Path to save the spreadsheet<br>`run_all_agents`: Boolean to run all agents or not<br>`max_loops`: Maximum number of loops | None |
1539
- | `run` | Execute the swarm | `task`: Input task for the swarm | Dictionary of agent outputs |
1540
-
1541
- ### Inputs
1542
-
1543
- | Input | Type | Description |
1544
- |-------|------|-------------|
1545
- | `name` | str | Name of the swarm |
1546
- | `description` | str | Description of the swarm's purpose |
1547
- | `agents` | List[Agent] | List of Agent objects to be used in the swarm |
1548
- | `autosave_on` | bool | Enable autosaving of results |
1549
- | `save_file_path` | str | Path to save the spreadsheet results |
1550
- | `run_all_agents` | bool | Whether to run all agents or select based on relevance |
1551
- | `max_loops` | int | Maximum number of processing loops |
1552
-
1553
- ### Output
1554
-
1555
- The `run` method returns a dictionary containing the outputs of each agent that processed the task.
1427
+ SpreadSheetSwarm manages thousands of agents concurrently for efficient task processing. It supports one-to-many task distribution, scalability, and autosaving results. Initialized with a name, description, agents, and settings, the run method executes tasks and returns a dictionary of agent outputs.
1556
1428
 
1557
-
1558
- [Learn more at the docs here:](https://docs.swarms.world/en/latest/swarms/structs/spreadsheet_swarm/)
1429
+ [Learn more:](https://docs.swarms.world/en/latest/swarms/structs/spreadsheet_swarm/)
1559
1430
 
1560
1431
  ```python
1561
1432
  import os
@@ -1712,28 +1583,13 @@ swarm.run(
1712
1583
  ```
1713
1584
 
1714
1585
 
1715
- ## `ForestSwarm`
1716
- The `ForestSwarm` architecture is designed for efficient task assignment by dynamically selecting the most suitable agent from a collection of trees. This is achieved through asynchronous task processing, where agents are chosen based on their relevance to the task at hand. The relevance is determined by calculating the similarity between the system prompts associated with each agent and the keywords present in the task itself. For a more in-depth understanding of how `ForestSwarm` works, please refer to the [official documentation](https://docs.swarms.world/en/latest/swarms/structs/forest_swarm/).
1717
-
1718
-
1719
-
1720
- ### Methods
1721
-
1722
- | Method | Description | Parameters | Return Value |
1723
- |--------|-------------|------------|--------------|
1724
- | `__init__` | Initialize the ForestSwarm | `trees`: List of Tree objects | None |
1725
- | `run` | Execute the ForestSwarm | `task`: Input task for the swarm | Output from the most relevant agent |
1586
+ ----------
1726
1587
 
1727
- ### Inputs
1588
+ ## `ForestSwarm`
1728
1589
 
1729
- | Input | Type | Description |
1730
- |-------|------|-------------|
1731
- | `trees` | List[Tree] | List of Tree objects, each containing TreeAgent objects |
1732
- | `task` | str | The task to be processed by the ForestSwarm |
1590
+ The `ForestSwarm` architecture is an intelligent system designed to optimize task assignment by dynamically selecting the most appropriate agent from a collection of specialized trees. Through asynchronous task processing, the system intelligently matches tasks with agents based on their relevance. This matching is accomplished by computing the semantic similarity between each agent's system prompts and the keywords present in the task. For comprehensive details about the `ForestSwarm` implementation and capabilities, please consult the [official documentation](https://docs.swarms.world/en/latest/swarms/structs/forest_swarm/).
1733
1591
 
1734
- ### Output
1735
1592
 
1736
- The `run` method returns the output from the most relevant agent selected based on the input task.
1737
1593
 
1738
1594
 
1739
1595
  ```python
@@ -1851,25 +1707,11 @@ print(output)
1851
1707
 
1852
1708
 
1853
1709
 
1710
+ ------------
1854
1711
 
1855
1712
  ## `SwarmRouter`
1856
- The `SwarmRouter` class is a flexible routing system designed to manage different types of swarms for task execution. It provides a unified interface to interact with various swarm types, including `AgentRearrange`, `MixtureOfAgents`, `SpreadSheetSwarm`, `SequentialWorkflow`, and `ConcurrentWorkflow`. We will be continuously adding more and more swarm architectures here as we progress with new architectures.
1857
-
1858
- #### Attributes:
1859
- - `name` (str): Name of the SwarmRouter instance.
1860
- - `description` (str): Description of the SwarmRouter instance.
1861
- - `max_loops` (int): Maximum number of loops to perform.
1862
- - `agents` (List[Agent]): List of Agent objects to be used in the swarm.
1863
- - `swarm_type` (SwarmType): Type of swarm to be used.
1864
- - `swarm` (Union[AgentRearrange, MixtureOfAgents, SpreadSheetSwarm, SequentialWorkflow, ConcurrentWorkflow]): Instantiated swarm object.
1865
- - `logs` (List[SwarmLog]): List of log entries captured during operations.
1866
1713
 
1867
- #### Methods:
1868
- - `__init__(self, name: str, description: str, max_loops: int, agents: List[Agent], swarm_type: SwarmType, *args, **kwargs)`: Initialize the SwarmRouter.
1869
- - `_create_swarm(self, *args, **kwargs)`: Create and return the specified swarm type.
1870
- - `_log(self, level: str, message: str, task: str, metadata: Dict[str, Any])`: Create a log entry and add it to the logs list.
1871
- - `run(self, task: str, *args, **kwargs)`: Run the specified task on the selected swarm.
1872
- - `get_logs(self)`: Retrieve all logged entries.
1714
+ The `SwarmRouter` class is a flexible routing system designed to manage different types of swarms for task execution. It provides a unified interface to interact with various swarm types, including `AgentRearrange`, `MixtureOfAgents`, `SpreadSheetSwarm`, `SequentialWorkflow`, and `ConcurrentWorkflow`. We will be continuously adding more and more swarm architectures here as we progress with new architectures. [Learn More](https://docs.swarms.world/en/latest/swarms/structs/swarm_router/)
1873
1715
 
1874
1716
 
1875
1717
  ```python
@@ -2256,21 +2098,20 @@ Documentation is located here at: [docs.swarms.world](https://docs.swarms.world)
2256
2098
  -----
2257
2099
 
2258
2100
  ## Folder Structure
2259
- The swarms package has been meticlously crafted for extreme use-ability and understanding, the swarms package is split up into various modules such as `swarms.agents` that holds pre-built agents, `swarms.structs` that holds a vast array of structures like `Agent` and multi agent structures. The 3 most important are `structs`, `models`, and `agents`.
2101
+ The swarms package has been meticulously crafted for extreme usability and understanding,the swarms package is split up into various modules such as `swarms.agents` that holds pre-built agents, `swarms.structs` that holds a vast array of structures like `Agent` and multi agent structures. The package is split into various modules, with the most important being `structs`, `tools`, and `agents`.
2260
2102
 
2261
2103
  ```sh
2262
2104
  ├── __init__.py
2263
- ├── agents
2264
- ├── artifacts
2265
- ├── memory
2266
- ├── schemas
2267
- ├── models -> swarm_models
2268
- ├── prompts
2269
- ├── structs
2270
- ├── telemetry
2271
- ├── tools
2272
- ├── utils
2273
- └── workers
2105
+ ├── agents/
2106
+ ├── artifacts/
2107
+ ├── client/
2108
+ ├── cli/
2109
+ ├── prompts/
2110
+ ├── schemas/
2111
+ ├── structs/
2112
+ ├── telemetry/
2113
+ ├── tools/
2114
+ └── utils/
2274
2115
  ```
2275
2116
 
2276
2117
  ----
@@ -2284,23 +2125,17 @@ Swarms is an open-source project, and contributions are VERY welcome. If you wan
2284
2125
  ----
2285
2126
 
2286
2127
 
2287
-
2288
- ## Accelerate Backlog
2289
- Accelerate Bugs, Features, and Demos to implement by supporting us here:
2290
-
2291
- <a href="https://polar.sh/kyegomez"><img src="https://polar.sh/embed/fund-our-backlog.svg?org=kyegomez" /></a>
2292
-
2293
2128
  ## Community
2294
2129
 
2295
2130
  Join our growing community around the world, for real-time support, ideas, and discussions on Swarms 😊
2296
2131
 
2297
- - View our official [Blog](https://docs.swarms.world)
2132
+ - View our official [Documents](https://docs.swarms.world)
2133
+ - View our official [Blog](https://medium.com/@kyeg)
2298
2134
  - Chat live with us on [Discord](https://discord.gg/jM3Z6M9uMq)
2299
2135
  - Follow us on [Twitter](https://twitter.com/kyegomez)
2300
2136
  - Connect with us on [LinkedIn](https://www.linkedin.com/company/the-swarm-corporation)
2301
2137
  - Visit us on [YouTube](https://www.youtube.com/channel/UC9yXyitkbU_WSy7bd_41SqQ)
2302
- - [Join the Swarms community on Discord!](https://discord.gg/AJazBmhKnr)
2303
- - Join our Swarms Community Gathering every Thursday at 1pm NYC Time to unlock the potential of autonomous agents in automating your daily tasks [Sign up here](https://lu.ma/5p2jnc2v)
2138
+ - Sign up for our events [Sign up here](https://lu.ma/5p2jnc2v)
2304
2139
 
2305
2140
  # License
2306
2141