From 776be9ee2200ba84f0b497743784f6227d8ab8b6 Mon Sep 17 00:00:00 2001 From: goulustis Date: Mon, 2 Feb 2026 13:37:26 +0800 Subject: [PATCH] async clear memory --- lang_agent/base.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lang_agent/base.py b/lang_agent/base.py index 0355316..03759f5 100644 --- a/lang_agent/base.py +++ b/lang_agent/base.py @@ -204,12 +204,19 @@ class GraphBase(ABC): else: self.clear_memory_device_id(device_id) - async def aclear_memory(self): + async def aclear_memory(self, device_id:str=None): # Clear the agent's (LangChain) memory if available (async version) if hasattr(self, "memory") and self.memory is not None: if isinstance(self.memory, MemorySaver): - for thread_id in self.memory.storage: - await self.memory.adelete_thread(thread_id) + if device_id is None: + # Clear all memory + for thread_id in self.memory.storage: + await self.memory.adelete_thread(thread_id) + else: + # Clear memory for specific device_id + rm_threads = [th for th in self.memory.storage if (device_id in th)] + for thread_id in rm_threads: + await self.memory.adelete_thread(thread_id)