From a8e651dfae90d55bfb17d1452809d471cf916205 Mon Sep 17 00:00:00 2001 From: Kye Date: Sun, 14 Jan 2024 09:44:50 -0500 Subject: [PATCH] [BUFG][RecursiveWorkflow] --- swarms/structs/conversation.py | 5 ++--- swarms/structs/recursive_workflow.py | 26 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/swarms/structs/conversation.py b/swarms/structs/conversation.py index 5b2fb1ef..441ff3d9 100644 --- a/swarms/structs/conversation.py +++ b/swarms/structs/conversation.py @@ -1,4 +1,3 @@ -import os import datetime import json @@ -22,8 +21,8 @@ class Conversation(BaseStructure): database (AbstractDatabase): The database to use for storing the conversation history. Default is None. autosave (bool): Whether to autosave the conversation history to a file. Default is None. save_filepath (str): The filepath to save the conversation history to. Default is None. - - + + Methods: add(role: str, content: str): Add a message to the conversation history. delete(index: str): Delete a message from the conversation history. diff --git a/swarms/structs/recursive_workflow.py b/swarms/structs/recursive_workflow.py index a9a27386..17912563 100644 --- a/swarms/structs/recursive_workflow.py +++ b/swarms/structs/recursive_workflow.py @@ -3,6 +3,11 @@ from typing import List from swarms.structs.base import BaseStructure from swarms.structs.task import Task +import logging + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + class RecursiveWorkflow(BaseStructure): """ @@ -28,7 +33,7 @@ class RecursiveWorkflow(BaseStructure): def __init__(self, stop_token: str = ""): self.stop_token = stop_token - self.tasks = List[Task] + self.task_pool = List[Task] assert ( self.stop_token is not None @@ -44,11 +49,19 @@ class RecursiveWorkflow(BaseStructure): try: if tasks: for task in tasks: - self.tasks.append(task) + self.task_pool.append(task) + logger.info( + "[INFO][RecursiveWorkflow] Added task" + f" {task} to workflow" + ) else: - self.tasks.append(task) + self.task_pool.append(task) + logger.info( + f"[INFO][RecursiveWorkflow] Added task {task} to" + " workflow" + ) except Exception as error: - print(f"[ERROR][ConcurrentWorkflow] {error}") + logger.warning(f"[ERROR][RecursiveWorkflow] {error}") raise error def run(self): @@ -59,11 +72,12 @@ class RecursiveWorkflow(BaseStructure): None """ try: - for task in self.tasks: + for task in self.task_pool: while True: result = task.execute() if self.stop_token in result: break + logger.info(f"{result}") except Exception as error: - print(f"[ERROR][RecursiveWorkflow] {error}") + logger.warning(f"[ERROR][RecursiveWorkflow] {error}") raise error