From fc7db7d86ff6a1223652c3767706fe343e4bea94 Mon Sep 17 00:00:00 2001 From: BillSchumacher <34168009+BillSchumacher@users.noreply.github.com> Date: Sat, 15 Apr 2023 23:51:43 -0500 Subject: [PATCH] Fix bad logic probably. --- autogpt/agent/agent_manager.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/autogpt/agent/agent_manager.py b/autogpt/agent/agent_manager.py index 32473750..1ae69812 100644 --- a/autogpt/agent/agent_manager.py +++ b/autogpt/agent/agent_manager.py @@ -40,13 +40,16 @@ class AgentManager(metaclass=Singleton): messages=messages, ) - plugins_reply = agent_reply - for plugin in self.cfg.plugins: + messages.append({"role": "assistant", "content": agent_reply}) + + plugins_reply = "" + for i, plugin in enumerate(self.cfg.plugins): plugin_result = plugin.on_instruction(messages) if plugin_result: - plugins_reply = f"{plugins_reply}\n{plugin_result}" + plugins_reply = f"{plugins_reply}{'' if not i else '\n'}{plugin_result}" - messages.append({"role": "assistant", "content": plugins_reply}) + if plugins_reply and plugins_reply != "": + messages.append({"role": "assistant", "content": plugins_reply}) key = self.next_key # This is done instead of len(agents) to make keys unique even if agents # are deleted @@ -82,13 +85,16 @@ class AgentManager(metaclass=Singleton): messages=messages, ) + messages.append({"role": "assistant", "content": agent_reply}) + plugins_reply = agent_reply - for plugin in self.cfg.plugins: + for i, plugin in enumerate(self.cfg.plugins): plugin_result = plugin.on_instruction(messages) if plugin_result: - plugins_reply = f"{plugins_reply}\n{plugin_result}" + plugins_reply = f"{plugins_reply}{'' if not i else '\n'}{plugin_result}" # Update full message history - messages.append({"role": "assistant", "content": plugins_reply}) + if plugins_reply and plugins_reply != "": + messages.append({"role": "assistant", "content": plugins_reply}) return plugins_reply