fix: memgpt agent ignores user messages (#679)

* Fixed bug making MemGPT ignore some user messages

* Fixed bug making MemGPTAgent ignore some user messages

* Added pre-commit fixes
This commit is contained in:
Javier Sastre
2023-12-24 20:41:47 +00:00
committed by GitHub
parent da90d16fe1
commit 9c00de1ff3
4 changed files with 7 additions and 6 deletions

View File

@@ -286,7 +286,8 @@ class MemGPTAgent(ConversableAgent):
self.agent.interface.reset_message_list()
new_messages = self.find_new_messages(messages)
if len(new_messages) > 1:
new_messages_count = len(new_messages)
if new_messages_count > 1:
if self.concat_other_agent_messages:
# Combine all the other messages into one message
user_message = "\n".join([self.format_other_agent_message(m) for m in new_messages])
@@ -294,7 +295,7 @@ class MemGPTAgent(ConversableAgent):
# Extend the MemGPT message list with multiple 'user' messages, then push the last one with agent.step()
self.agent.messages.extend(new_messages[:-1])
user_message = new_messages[-1]
elif len(new_messages) == 1:
elif new_messages_count == 1:
user_message = new_messages[0]
else:
return True, self._default_auto_reply
@@ -327,7 +328,7 @@ class MemGPTAgent(ConversableAgent):
# Pass back to AutoGen the pretty-printed calls MemGPT made to the interface
pretty_ret = MemGPTAgent.pretty_concat(self.agent.interface.message_list)
self.messages_processed_up_to_idx += len(new_messages)
self.messages_processed_up_to_idx += new_messages_count
return True, pretty_ret
@staticmethod