From 86b5eb1818a8a826629ceafb08d306c91ed35f65 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Thu, 15 May 2025 16:13:32 +0800 Subject: [PATCH] =?UTF-8?q?update:=E4=BF=AE=E5=A4=8Dinit=5Fmemorybug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/connection.py | 12 +++++++----- .../core/providers/intent/intent_llm/intent_llm.py | 2 +- main/xiaozhi-server/core/providers/memory/base.py | 2 +- .../memory/mem_local_short/mem_local_short.py | 6 ++++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 7419dc68..0abb3cec 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -231,7 +231,9 @@ class ConnectionHandler: # 创建新事件循环(避免与主循环冲突) loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) - loop.run_until_complete(self.memory.save_memory(self.dialogue.dialogue)) + loop.run_until_complete( + self.memory.save_memory(self.dialogue.dialogue) + ) except Exception as e: self.logger.bind(tag=TAG).error(f"保存记忆失败: {e}") finally: @@ -441,10 +443,10 @@ class ConnectionHandler: def _initialize_memory(self): """初始化记忆模块""" self.memory.init_memory( - self.device_id, - self.llm, - self.config["summaryMemory"], - not self.read_config_from_api, + role_id=self.device_id, + llm=self.llm, + summary_memory=self.config.get("summaryMemory", None), + save_to_file=not self.read_config_from_api, ) def _initialize_intent(self): diff --git a/main/xiaozhi-server/core/providers/intent/intent_llm/intent_llm.py b/main/xiaozhi-server/core/providers/intent/intent_llm/intent_llm.py index b847ac73..195d058a 100644 --- a/main/xiaozhi-server/core/providers/intent/intent_llm/intent_llm.py +++ b/main/xiaozhi-server/core/providers/intent/intent_llm/intent_llm.py @@ -215,7 +215,7 @@ class IntentProvider(IntentProviderBase): # 记录识别到的function call logger.bind(tag=TAG).info( - f"识别到function call: {function_name}, 参数: {function_args}" + f"llm 识别到意图: {function_name}, 参数: {function_args}" ) # 添加到缓存 diff --git a/main/xiaozhi-server/core/providers/memory/base.py b/main/xiaozhi-server/core/providers/memory/base.py index be21692d..19dcabb8 100644 --- a/main/xiaozhi-server/core/providers/memory/base.py +++ b/main/xiaozhi-server/core/providers/memory/base.py @@ -21,6 +21,6 @@ class MemoryProviderBase(ABC): """Query memories for specific role based on similarity""" return "please implement query method" - def init_memory(self, role_id, llm, summary_memory=None): + def init_memory(self, role_id, llm, **kwargs): self.role_id = role_id self.llm = llm diff --git a/main/xiaozhi-server/core/providers/memory/mem_local_short/mem_local_short.py b/main/xiaozhi-server/core/providers/memory/mem_local_short/mem_local_short.py index 2e5c7db2..a916e6c9 100644 --- a/main/xiaozhi-server/core/providers/memory/mem_local_short/mem_local_short.py +++ b/main/xiaozhi-server/core/providers/memory/mem_local_short/mem_local_short.py @@ -112,8 +112,10 @@ class MemoryProvider(MemoryProviderBase): self.memory_path = get_project_dir() + "data/.memory.yaml" self.load_memory(summary_memory) - def init_memory(self, role_id, llm, summary_memory=None, save_to_file=True): - super().init_memory(role_id, llm) + def init_memory( + self, role_id, llm, summary_memory=None, save_to_file=True, **kwargs + ): + super().init_memory(role_id, llm, **kwargs) self.save_to_file = save_to_file self.load_memory(summary_memory)