diff --git a/example2.py b/example2.py new file mode 100644 index 00000000..f27744e4 --- /dev/null +++ b/example2.py @@ -0,0 +1,34 @@ +from typing import List +from swarms import Worker + +class MultiAgentDebate: + def __init__(self, agents: List[Worker]): + self.agents = agents + + def run(self, task: str): + results = [] + for agent in self.agents: + response = agent.run(task) + results.append({ + 'agent': agent.ai_name, + 'response': response + }) + return results + +# Initialize agents +agents = [ + Worker(openai_api_key="", ai_name="Optimus Prime"), + Worker(openai_api_key="", ai_name="Bumblebee"), + Worker(openai_api_key="", ai_name="Megatron") +] + +# Initialize multi-agent debate +debate = MultiAgentDebate(agents) + +# Run task +task = "What were the winning boston marathon times for the past 5 years (ending in 2022)? Generate a table of the year, name, country of origin, and times." +results = debate.run(task) + +# Print results +for result in results: + print(f"Agent {result['agent']} responded: {result['response']}") \ No newline at end of file diff --git a/swarms/swarms/dialogue_simulator.py b/swarms/swarms/dialogue_simulator.py index bc90711a..83670fa1 100644 --- a/swarms/swarms/dialogue_simulator.py +++ b/swarms/swarms/dialogue_simulator.py @@ -21,9 +21,12 @@ class DialogueSimulator: while step < max_iters: speaker_idx = step % len(self.agents) speaker = self.agents[speaker_idx] - speaker_message = speaker.run() + speaker_message = speaker.run(prompt) + for receiver in self.agents: - receiver.receive(speaker.name, speaker_message) + message_history = f"Speaker Name: {speaker.name} and message: {speake_message}" + receiver.run(message_history) + print(f"({speaker.name}): {speaker_message}") print("\n") step += 1 \ No newline at end of file diff --git a/swarms/swarms/multi_agent_debate.py b/swarms/swarms/multi_agent_debate.py new file mode 100644 index 00000000..f27744e4 --- /dev/null +++ b/swarms/swarms/multi_agent_debate.py @@ -0,0 +1,34 @@ +from typing import List +from swarms import Worker + +class MultiAgentDebate: + def __init__(self, agents: List[Worker]): + self.agents = agents + + def run(self, task: str): + results = [] + for agent in self.agents: + response = agent.run(task) + results.append({ + 'agent': agent.ai_name, + 'response': response + }) + return results + +# Initialize agents +agents = [ + Worker(openai_api_key="", ai_name="Optimus Prime"), + Worker(openai_api_key="", ai_name="Bumblebee"), + Worker(openai_api_key="", ai_name="Megatron") +] + +# Initialize multi-agent debate +debate = MultiAgentDebate(agents) + +# Run task +task = "What were the winning boston marathon times for the past 5 years (ending in 2022)? Generate a table of the year, name, country of origin, and times." +results = debate.run(task) + +# Print results +for result in results: + print(f"Agent {result['agent']} responded: {result['response']}") \ No newline at end of file diff --git a/swarms/workers/multi_ b/swarms/workers/multi_ new file mode 100644 index 00000000..e69de29b