Spaces:
Runtime error
Runtime error
Upload multi_agent_framework.py
Browse files- multi_agent_framework.py +32 -0
multi_agent_framework.py
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from typing import Dict, List
|
3 |
+
|
4 |
+
class Agent:
|
5 |
+
def __init__(self, name: str):
|
6 |
+
self.name = name
|
7 |
+
self.task_log = []
|
8 |
+
|
9 |
+
def receive_task(self, task: str) -> str:
|
10 |
+
self.task_log.append(task)
|
11 |
+
return f"Agent {self.name} received task: {task}"
|
12 |
+
|
13 |
+
def get_tasks(self) -> List[str]:
|
14 |
+
return self.task_log
|
15 |
+
|
16 |
+
class MultiAgentCoordinator:
|
17 |
+
def __init__(self):
|
18 |
+
self.agents: Dict[str, Agent] = {}
|
19 |
+
|
20 |
+
def register_agent(self, name: str) -> str:
|
21 |
+
if name not in self.agents:
|
22 |
+
self.agents[name] = Agent(name)
|
23 |
+
return f"Agent '{name}' registered."
|
24 |
+
return f"Agent '{name}' already exists."
|
25 |
+
|
26 |
+
def assign_task(self, agent_name: str, task: str) -> str:
|
27 |
+
if agent_name in self.agents:
|
28 |
+
return self.agents[agent_name].receive_task(task)
|
29 |
+
return f"Agent '{agent_name}' not found."
|
30 |
+
|
31 |
+
def get_all_tasks(self) -> Dict[str, List[str]]:
|
32 |
+
return {name: agent.get_tasks() for name, agent in self.agents.items()}
|