fix:修复了记忆快速提取问题

This commit is contained in:
SengokuCola
2025-05-23 16:40:44 +08:00
parent 9625750e62
commit febe2b4c41
4 changed files with 11 additions and 4 deletions

View File

@@ -425,7 +425,10 @@ class HeartFChatting:
self.all_observations = observations self.all_observations = observations
with Timer("回忆", cycle_timers): with Timer("回忆", cycle_timers):
logger.debug(f"{self.log_prefix} 开始回忆")
running_memorys = await self.memory_activator.activate_memory(observations) running_memorys = await self.memory_activator.activate_memory(observations)
logger.debug(f"{self.log_prefix} 回忆完成")
print(running_memorys)
with Timer("执行 信息处理器", cycle_timers): with Timer("执行 信息处理器", cycle_timers):
all_plan_info = await self._process_processors(observations, running_memorys, cycle_timers) all_plan_info = await self._process_processors(observations, running_memorys, cycle_timers)

View File

@@ -61,6 +61,9 @@ class MemoryActivator:
elif isinstance(observation, HFCloopObservation): elif isinstance(observation, HFCloopObservation):
obs_info_text += observation.get_observe_info() obs_info_text += observation.get_observe_info()
logger.debug(f"回忆待检索内容obs_info_text: {obs_info_text}")
# prompt = await global_prompt_manager.format_prompt( # prompt = await global_prompt_manager.format_prompt(
# "memory_activator_prompt", # "memory_activator_prompt",
# obs_info_text=obs_info_text, # obs_info_text=obs_info_text,
@@ -81,7 +84,7 @@ class MemoryActivator:
# valid_keywords=keywords, max_memory_num=3, max_memory_length=2, max_depth=3 # valid_keywords=keywords, max_memory_num=3, max_memory_length=2, max_depth=3
# ) # )
related_memory = await HippocampusManager.get_instance().get_memory_from_text( 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}") # logger.debug(f"获取到的记忆: {related_memory}")

View File

@@ -1,6 +1,6 @@
import traceback import traceback
from typing import Tuple, Dict, List, Any, Optional 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.heart_flow.observation.chatting_observation import ChattingObservation
from src.chat.focus_chat.hfc_utils import create_empty_anchor_message from src.chat.focus_chat.hfc_utils import create_empty_anchor_message
from src.common.logger_manager import get_logger from src.common.logger_manager import get_logger

View File

@@ -338,7 +338,8 @@ class Hippocampus:
# 去重 # 去重
keywords = list(set(keywords)) keywords = list(set(keywords))
# 限制关键词数量 # 限制关键词数量
keywords = keywords[:5] logger.debug(f"提取关键词: {keywords}")
else: else:
# 使用LLM提取关键词 # 使用LLM提取关键词
topic_num = min(5, max(1, int(len(text) * 0.1))) # 根据文本长度动态调整关键词数量 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] valid_keywords = [keyword for keyword in keywords if keyword in self.memory_graph.G]
if not valid_keywords: if not valid_keywords:
# logger.info("没有找到有效的关键词节点") logger.info("没有找到有效的关键词节点")
return [] return []
logger.debug(f"有效的关键词: {', '.join(valid_keywords)}") logger.debug(f"有效的关键词: {', '.join(valid_keywords)}")