You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
from swarms import Agent
|
|
from swarms.structs.matrix_swarm import MatrixSwarm
|
|
from swarms.prompts.finance_agent_sys_prompt import FINANCIAL_AGENT_SYS_PROMPT
|
|
|
|
|
|
def create_agent(name: str) -> Agent:
|
|
"""Utility function to build a simple agent for the matrix."""
|
|
return Agent(
|
|
agent_name=name,
|
|
system_prompt=FINANCIAL_AGENT_SYS_PROMPT,
|
|
model_name="gpt-4o-mini",
|
|
max_loops=1,
|
|
streaming_on=False,
|
|
verbose=True,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# Initialize a 2x2 matrix of agents
|
|
agents = [
|
|
[create_agent(f"Agent-{i}-{j}") for j in range(2)]
|
|
for i in range(2)
|
|
]
|
|
swarm = MatrixSwarm(agents)
|
|
|
|
# Perform basic matrix operations
|
|
transposed = swarm.transpose()
|
|
added = swarm.add(transposed)
|
|
|
|
# Show shapes after operations
|
|
print("Original shape:", len(swarm.agents), len(swarm.agents[0]))
|
|
print("Transposed shape:", len(transposed.agents), len(transposed.agents[0]))
|
|
print("Added matrix shape:", len(added.agents), len(added.agents[0]))
|
|
|
|
# Prepare queries for each row of the matrix
|
|
queries = [
|
|
"What are the benefits of index funds?",
|
|
"How does compound interest work?",
|
|
]
|
|
|
|
# Run agents by multiplying the matrix with its transpose
|
|
results = swarm.multiply(transposed, queries)
|
|
|
|
# Display results
|
|
for row in results:
|
|
for output in row:
|
|
print(f"{output.agent_name}: {output.output_result}")
|
|
|