#kye gomez jul 13 4:01pm, can scale up the number of swarms working on a probkem with `hivemind(swarms=4, or swarms=auto which will scale the agents depending on the complexity)`
worker_node_tool=Tool(name="WorkerNode AI Agent",func=worker_node.run,description="Input: an objective with a todo list for that objective. Output: your task completed: Please be very clear what the objective and task instructions are. The Swarm worker agent is Useful for when you need to spawn an autonomous agent instance as a worker to accomplish any complex tasks, it can search the internet or write code or spawn child multi-modality models to process and generate images and text or audio and so on")
returnworker_node_tool
exceptExceptionase:
logging.error(f"Failed to initialize worker node: {e}")
todo_prompt=PromptTemplate.from_template("You are a boss planer in a swarm who is an expert at coming up with a todo list for a given objective and then creating an worker to help you accomplish your task. Come up with a todo list for this objective: {objective} and then spawn a worker agent to complete the task for you. Always spawn an worker agent after creating a plan and pass the objective and plan to the worker agent.")
todo_chain=LLMChain(llm=llm,prompt=todo_prompt)
tools=[
Tool(name="TODO",func=todo_chain.run,description="useful for when you need to come up with todo lists. Input: an objective to create a todo list for. Output: a todo list for that objective. Please be very clear what the objective is!"),
worker_node
]
suffix="""Question: {task}\n{agent_scratchpad}"""
prefix="""You are an Boss in a swarm who performs one task based on the following objective: {objective}. Take into account these previously completed tasks: {context}.\n"""
worker_node.create_agent(ai_name="Swarm Worker AI Assistant",ai_role="Assistant",human_in_the_loop=False,search_kwargs={})
worker_node_tool=Tool(name="WorkerNode AI Agent",func=worker_node.run,description="Input: an objective with a todo list for that objective. Output: your task completed: Please be very clear what the objective and task instructions are. The Swarm worker agent is Useful for when you need to spawn an autonomous agent instance as a worker to accomplish any complex tasks, it can search the internet or write code or spawn child multi-modality models to process and generate images and text or audio and so on")
todo_prompt=PromptTemplate.from_template("You are a boss planer in a swarm who is an expert at coming up with a todo list for a given objective and then creating an worker to help you accomplish your task. Come up with a todo list for this objective: {objective} and then spawn a worker agent to complete the task for you. Always spawn an worker agent after creating a plan and pass the objective and plan to the worker agent.")
todo_chain=LLMChain(llm=llm,prompt=todo_prompt)
tools=[
Tool(name="TODO",func=todo_chain.run,description="useful for when you need to come up with todo lists. Input: an objective to create a todo list for. Output: a todo list for that objective. Please be very clear what the objective is!"),
worker_node
]
suffix="""Question: {task}\n{agent_scratchpad}"""
prefix="""You are an Boss in a swarm who performs one task based on the following objective: {objective}. Take into account these previously completed tasks: {context}.\n"""