From 57ed7b8957d646970afe66540341fe611b507de2 Mon Sep 17 00:00:00 2001 From: Kye Date: Fri, 6 Oct 2023 12:14:12 -0400 Subject: [PATCH] groupchat cleanup Former-commit-id: 275ac5be71d0acb73467cb12e538c3ac56d2468b --- llm.py | 4 ++++ apps/omni_ui.py => omni_ui.py | 0 playground/swarms/group_chat.py | 2 ++ swarms/agents/base.py | 1 + swarms/swarms/groupchat.py | 24 ++++++++++++------------ 5 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 llm.py rename apps/omni_ui.py => omni_ui.py (100%) diff --git a/llm.py b/llm.py new file mode 100644 index 00000000..93907c0b --- /dev/null +++ b/llm.py @@ -0,0 +1,4 @@ +from swarms.models import OpenAIChat + +llm = OpenAIChat(openai_api_key="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") +out = llm("Hello, I am a robot and I like to talk about robots.") \ No newline at end of file diff --git a/apps/omni_ui.py b/omni_ui.py similarity index 100% rename from apps/omni_ui.py rename to omni_ui.py diff --git a/playground/swarms/group_chat.py b/playground/swarms/group_chat.py index d6dc5f1b..fc44e294 100644 --- a/playground/swarms/group_chat.py +++ b/playground/swarms/group_chat.py @@ -1 +1,3 @@ from swarms.swarms import GroupChatManager +from swarms.agents.base import AbstractAgent + diff --git a/swarms/agents/base.py b/swarms/agents/base.py index 88898336..32c0488d 100644 --- a/swarms/agents/base.py +++ b/swarms/agents/base.py @@ -1,3 +1,4 @@ + class AbsractAgent: def __init__( self, diff --git a/swarms/swarms/groupchat.py b/swarms/swarms/groupchat.py index 69b13402..f314871c 100644 --- a/swarms/swarms/groupchat.py +++ b/swarms/swarms/groupchat.py @@ -2,14 +2,14 @@ import sys from dataclasses import dataclass from typing import Dict, List, Optional, Union -from swarms.workers.worker import Worker +from swarms.agents.base import AbstractAgent @dataclass class GroupChat: """A group chat with multiple participants with a list of workers and a max number of rounds""" - workers: List[Worker] + workers: List[AbstractAgent] messages: List[Dict] max_rounds: int = 10 admin_name: str = "Admin" #admin worker @@ -22,11 +22,11 @@ class GroupChat: def reset(self): self.messages.clear() - def worker_by_name(self, name: str) -> Worker: + def worker_by_name(self, name: str) -> AbstractAgent: """Find the next speaker baed on the message""" return self.workers[self.worker_names.index(name)] - def next_worker(self, worker: Worker) -> Worker: + def next_worker(self, worker: AbstractAgent) -> AbstractAgent: """Returns the next worker in the list""" return self.workers[ (self.workers_names.index(worker.ai_name) + 1) % len(self.workers) @@ -45,8 +45,8 @@ class GroupChat: def select_speaker( self, - last_speaker: Worker, - selector: Worker, + last_speaker: AbstractAgent, + selector: AbstractAgent, ): """Selects the next speaker""" selector.update_system_message(self.select_speaker_msg()) @@ -73,7 +73,7 @@ class GroupChat: -class GroupChatManager(Worker): +class GroupChatManager(AbstractAgent): def __init__( self, groupchat: GroupChat, @@ -92,7 +92,7 @@ class GroupChatManager(Worker): **kwargs ) self.register_reply( - Worker, + AbstractAgent, GroupChatManager.run_chat, config=groupchat, reset_config=GroupChat.reset @@ -101,7 +101,7 @@ class GroupChatManager(Worker): def run( self, messages: Optional[List[Dict]] = None, - sender: Optional[Worker] = None, + sender: Optional[AbstractAgent] = None, config: Optional[GroupChat] = None, ) -> Union[str, Dict, None]: #run @@ -161,9 +161,9 @@ class GroupChatManager(Worker): # model = GroupChatManager( # groupchat=GroupChat( # workers=[ -# Worker(name="A", system_message="I am worker A"), -# Worker(name="B", system_message="I am worker B"), -# Worker(name="C", system_message="I am worker C"), +# AbstractAgent(name="A", system_message="I am worker A"), +# AbstractAgent(name="B", system_message="I am worker B"), +# AbstractAgent(name="C", system_message="I am worker C"), # ] # ) # )