Merge pull request #1262 from xinnan-tech/web-headerbar-modify

update:修复init_memorybug
This commit is contained in:
欣南科技
2025-05-15 16:14:27 +08:00
committed by GitHub
4 changed files with 13 additions and 9 deletions
+7 -5
View File
@@ -231,7 +231,9 @@ class ConnectionHandler:
# 创建新事件循环(避免与主循环冲突) # 创建新事件循环(避免与主循环冲突)
loop = asyncio.new_event_loop() loop = asyncio.new_event_loop()
asyncio.set_event_loop(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: except Exception as e:
self.logger.bind(tag=TAG).error(f"保存记忆失败: {e}") self.logger.bind(tag=TAG).error(f"保存记忆失败: {e}")
finally: finally:
@@ -441,10 +443,10 @@ class ConnectionHandler:
def _initialize_memory(self): def _initialize_memory(self):
"""初始化记忆模块""" """初始化记忆模块"""
self.memory.init_memory( self.memory.init_memory(
self.device_id, role_id=self.device_id,
self.llm, llm=self.llm,
self.config["summaryMemory"], summary_memory=self.config.get("summaryMemory", None),
not self.read_config_from_api, save_to_file=not self.read_config_from_api,
) )
def _initialize_intent(self): def _initialize_intent(self):
@@ -215,7 +215,7 @@ class IntentProvider(IntentProviderBase):
# 记录识别到的function call # 记录识别到的function call
logger.bind(tag=TAG).info( logger.bind(tag=TAG).info(
f"识别到function call: {function_name}, 参数: {function_args}" f"llm 识别到意图: {function_name}, 参数: {function_args}"
) )
# 添加到缓存 # 添加到缓存
@@ -21,6 +21,6 @@ class MemoryProviderBase(ABC):
"""Query memories for specific role based on similarity""" """Query memories for specific role based on similarity"""
return "please implement query method" 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.role_id = role_id
self.llm = llm self.llm = llm
@@ -112,8 +112,10 @@ class MemoryProvider(MemoryProviderBase):
self.memory_path = get_project_dir() + "data/.memory.yaml" self.memory_path = get_project_dir() + "data/.memory.yaml"
self.load_memory(summary_memory) self.load_memory(summary_memory)
def init_memory(self, role_id, llm, summary_memory=None, save_to_file=True): def init_memory(
super().init_memory(role_id, llm) 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.save_to_file = save_to_file
self.load_memory(summary_memory) self.load_memory(summary_memory)