From febe2b4c414c4cc6ccc850c8fe57161d38fbf483 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Fri, 23 May 2025 16:40:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E8=AE=B0=E5=BF=86=E5=BF=AB=E9=80=9F=E6=8F=90=E5=8F=96=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/focus_chat/heartFC_chat.py | 3 +++ src/chat/focus_chat/memory_activator.py | 5 ++++- src/chat/focus_chat/planners/actions/plugin_action.py | 2 +- src/chat/memory_system/Hippocampus.py | 5 +++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/chat/focus_chat/heartFC_chat.py b/src/chat/focus_chat/heartFC_chat.py index a22807b72..a0144294f 100644 --- a/src/chat/focus_chat/heartFC_chat.py +++ b/src/chat/focus_chat/heartFC_chat.py @@ -425,7 +425,10 @@ class HeartFChatting: self.all_observations = observations with Timer("回忆", cycle_timers): + logger.debug(f"{self.log_prefix} 开始回忆") running_memorys = await self.memory_activator.activate_memory(observations) + logger.debug(f"{self.log_prefix} 回忆完成") + print(running_memorys) with Timer("执行 信息处理器", cycle_timers): all_plan_info = await self._process_processors(observations, running_memorys, cycle_timers) diff --git a/src/chat/focus_chat/memory_activator.py b/src/chat/focus_chat/memory_activator.py index c3453d0ce..0268e598c 100644 --- a/src/chat/focus_chat/memory_activator.py +++ b/src/chat/focus_chat/memory_activator.py @@ -60,6 +60,9 @@ class MemoryActivator: obs_info_text += f"{working_info_item['type']}: {working_info_item['content']}\n" elif isinstance(observation, HFCloopObservation): obs_info_text += observation.get_observe_info() + + + logger.debug(f"回忆待检索内容:obs_info_text: {obs_info_text}") # prompt = await global_prompt_manager.format_prompt( # "memory_activator_prompt", @@ -81,7 +84,7 @@ class MemoryActivator: # valid_keywords=keywords, max_memory_num=3, max_memory_length=2, max_depth=3 # ) related_memory = await HippocampusManager.get_instance().get_memory_from_text( - text=obs_info_text, max_memory_num=3, max_memory_length=2, max_depth=3, fast_retrieval=True + text=obs_info_text, max_memory_num=5, max_memory_length=2, max_depth=3, fast_retrieval=True ) # logger.debug(f"获取到的记忆: {related_memory}") diff --git a/src/chat/focus_chat/planners/actions/plugin_action.py b/src/chat/focus_chat/planners/actions/plugin_action.py index 7f4f40c55..8d4266e4b 100644 --- a/src/chat/focus_chat/planners/actions/plugin_action.py +++ b/src/chat/focus_chat/planners/actions/plugin_action.py @@ -1,6 +1,6 @@ import traceback from typing import Tuple, Dict, List, Any, Optional -from src.chat.focus_chat.planners.actions.base_action import BaseAction +from src.chat.focus_chat.planners.actions.base_action import BaseAction,register_action #noqa F401 from src.chat.heart_flow.observation.chatting_observation import ChattingObservation from src.chat.focus_chat.hfc_utils import create_empty_anchor_message from src.common.logger_manager import get_logger diff --git a/src/chat/memory_system/Hippocampus.py b/src/chat/memory_system/Hippocampus.py index 9c734c26e..88cf07aff 100644 --- a/src/chat/memory_system/Hippocampus.py +++ b/src/chat/memory_system/Hippocampus.py @@ -338,7 +338,8 @@ class Hippocampus: # 去重 keywords = list(set(keywords)) # 限制关键词数量 - keywords = keywords[:5] + logger.debug(f"提取关键词: {keywords}") + else: # 使用LLM提取关键词 topic_num = min(5, max(1, int(len(text) * 0.1))) # 根据文本长度动态调整关键词数量 @@ -361,7 +362,7 @@ class Hippocampus: # 过滤掉不存在于记忆图中的关键词 valid_keywords = [keyword for keyword in keywords if keyword in self.memory_graph.G] if not valid_keywords: - # logger.info("没有找到有效的关键词节点") + logger.info("没有找到有效的关键词节点") return [] logger.debug(f"有效的关键词: {', '.join(valid_keywords)}")