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)