From 3c9391405b1806d8ddd0de937150556d6fc16d8f Mon Sep 17 00:00:00 2001 From: nathanogaga118 <106948598+nathanogaga118@users.noreply.github.com> Date: Tue, 28 Jan 2025 16:07:47 -0800 Subject: [PATCH] Update majority_voting.py --- swarms/structs/majority_voting.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/swarms/structs/majority_voting.py b/swarms/structs/majority_voting.py index 18738aa0..d144ffde 100644 --- a/swarms/structs/majority_voting.py +++ b/swarms/structs/majority_voting.py @@ -45,6 +45,11 @@ def parse_code_completion(agent_response, question): Returns: tuple: A tuple containing the parsed Python code and a boolean indicating success. """ + # Input validation + if not isinstance(agent_response, str) or not isinstance(question, str): + logger.error("Invalid inputs provided to parse_code_completion.") + return "", False + python_code = extract_last_python_code_block(agent_response) if python_code is None: if agent_response.count("impl]") == 0: @@ -117,7 +122,7 @@ class MajorityVoting: agents (list): A list of agents to be used in the majority voting system. output_parser (function, optional): A function used to parse the output of the agents. If not provided, the default majority voting function is used. - autosave (bool, optional): A boolean indicating whether to autosave the conversation to a file. + autosave (bool, optional ): A boolean indicating whether to autosave the conversation to a file. verbose (bool, optional): A boolean indicating whether to enable verbose logging. Examples: >>> from swarms.structs.agent import Agent @@ -181,6 +186,11 @@ class MajorityVoting: List[Any]: The majority vote. """ + # Input validation + if not isinstance(task, str) or not task.strip(): + logger.error("Invalid task provided to run.") + return [] + # Route to each agent with concurrent.futures.ThreadPoolExecutor() as executor: logger.info("Running agents concurrently")