Closed risos8200 closed 2 weeks ago
To avoid the memory reset when dynamically creating agents, the key is to adjust how you use the reset
method on the ReActAgent
. The memory is cleared because the reset
method, by default, clears the agent's memory. If you want to keep the memory intact, you should modify the reset
method in your agent's implementation to include a parameter that controls whether to clear the memory.
Here's a quick guide on how to do it:
Modify the reset
method in the ReActAgent
class to accept a clear_memory
boolean parameter. By default, set this to True
. When clear_memory
is False
, the method should skip the memory clearing step.
Update your initialize_agent
function to call reset
with clear_memory=False
when you want to preserve the memory after agent creation.
Example modification for the reset
method:
def reset(self, clear_memory: bool = True):
if clear_memory:
self._memory.reset()
And then in your initialize_agent
function:
agent.reset(clear_memory=False)
This approach allows you to dynamically create agents with preserved memory, avoiding the issue of memory being cleared upon agent creation.
To continue the conversation, mention @dosu.
@risos8200 agent.reset()
resets the memory -- any reason to run this when the agent was just created? I would just remove this line
@logan-markewich It gives this error if I don't
'dict' object has no attribute 'content'
Question Validation
Question
I am trying to dynamically create agents with memory based on user key on session creation from storage. But it clears the memory of the past conversation as soon as the agent is created? Any way to avoid that?