| | from autogen.agentchat.groupchat import GroupChat |
| | from autogen.agentchat.agent import Agent |
| | from autogen.agentchat.assistant_agent import AssistantAgent |
| | import json |
| |
|
| | class InputParserGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Interior_designer") |
| | elif last_speaker_name == "Interior_designer": |
| | return self.agent_by_name("Admin") |
| |
|
| | class RequirementGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("requirements_analyzer") |
| | elif last_speaker_name == "requirements_analyzer": |
| | return self.agent_by_name("substructure_analyzer") |
| | elif last_speaker_name == "substructure_analyzer": |
| | return self.agent_by_name("Interior_designer") |
| | elif last_speaker_name == "Interior_designer": |
| | return self.agent_by_name("Designer_checker") |
| | elif last_speaker_name == "Designer_checker": |
| | if "SUCCESS" not in last_message["content"]: |
| | return self.agent_by_name("Interior_designer") |
| | else: |
| | return self.agent_by_name("requirements_analyzer") |
| |
|
| | class LanguageGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Language_architect") |
| | elif last_speaker_name == "Language_architect": |
| | return self.agent_by_name("Language_architect") |
| |
|
| | class CalculationGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Calculation_architect") |
| | elif last_speaker_name == "Calculation_architect": |
| | return self.agent_by_name("Calculation_architect") |
| |
|
| | class SceneGraphGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Interior_architect") |
| | elif last_speaker_name == "Interior_architect": |
| | return self.agent_by_name("Schema_engineer") |
| | elif last_speaker_name == "Schema_engineer": |
| | return self.agent_by_name("Interior_architect") |
| |
|
| | |
| | class SchemaGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Schema_engineer") |
| | elif last_speaker_name == "Schema_engineer": |
| | return self.agent_by_name("Schema_debugger") |
| | elif last_speaker_name == "Schema_debugger": |
| | return self.agent_by_name("Schema_engineer") |
| |
|
| | class LayoutCorrectorGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | |
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Spatial_corrector_agent") |
| | elif last_speaker_name == "Spatial_corrector_agent": |
| | return self.agent_by_name("Json_schema_debugger") |
| | elif last_speaker_name == "Json_schema_debugger": |
| | if "SUCCESS" not in last_message["content"]: |
| | return self.agent_by_name("Spatial_corrector_agent") |
| | else: |
| | return self.agent_by_name("Admin") |
| |
|
| | class ObjectDeletionGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | |
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Object_deletion_agent") |
| | elif last_speaker_name == "Object_deletion_agent": |
| | return self.agent_by_name("Object_deletion_agent") |
| |
|
| | class LayoutRefinerGroupChat(GroupChat): |
| | def __init__(self, agents, messages, max_round=15): |
| | super().__init__(agents, messages, max_round) |
| | self.previous_speaker = None |
| | self.counter = 0 |
| |
|
| | def select_speaker(self, last_speaker: Agent, selector: AssistantAgent): |
| | |
| | last_message = self.messages[-1] if self.messages else None |
| | last_speaker_name = last_speaker.name if last_speaker else None |
| |
|
| | self.previous_speaker = last_speaker |
| |
|
| | if last_speaker_name == "Admin": |
| | return self.agent_by_name("Layout_refiner") |
| | elif last_speaker_name == "Layout_refiner": |
| | return self.agent_by_name("Json_schema_debugger") |
| | elif last_speaker_name == "Json_schema_debugger": |
| | if "SUCCESS" not in last_message["content"]: |
| | return self.agent_by_name("Layout_refiner") |
| | else: |
| | return self.agent_by_name("Admin") |
| |
|