better:优化工作记忆
This commit is contained in:
@@ -45,7 +45,6 @@ def init_prompt():
|
||||
"selected_memory_ids": ["id1", "id2", ...],
|
||||
"new_memory": "true" or "false",
|
||||
"merge_memory": [["id1", "id2"], ["id3", "id4"],...]
|
||||
|
||||
}}
|
||||
```
|
||||
"""
|
||||
@@ -104,11 +103,10 @@ class WorkingMemoryProcessor(BaseProcessor):
|
||||
all_memory = working_memory.get_all_memories()
|
||||
memory_prompts = []
|
||||
for memory in all_memory:
|
||||
# memory_content = memory.data
|
||||
memory_summary = memory.summary
|
||||
memory_id = memory.id
|
||||
memory_brief = memory_summary.get("brief")
|
||||
memory_keypoints = memory_summary.get("key_points", [])
|
||||
memory_points = memory_summary.get("points", [])
|
||||
memory_single_prompt = f"记忆id:{memory_id},记忆摘要:{memory_brief}\n"
|
||||
memory_prompts.append(memory_single_prompt)
|
||||
|
||||
@@ -122,11 +120,11 @@ class WorkingMemoryProcessor(BaseProcessor):
|
||||
memory_str=memory_choose_str,
|
||||
)
|
||||
|
||||
print(f"prompt: {prompt}")
|
||||
|
||||
# 调用LLM处理记忆
|
||||
content = ""
|
||||
try:
|
||||
# logger.debug(f"{self.log_prefix} 处理工作记忆的prompt: {prompt}")
|
||||
|
||||
content, _ = await self.llm_model.generate_response_async(prompt=prompt)
|
||||
if not content:
|
||||
logger.warning(f"{self.log_prefix} LLM返回空结果,处理工作记忆失败。")
|
||||
@@ -159,13 +157,12 @@ class WorkingMemoryProcessor(BaseProcessor):
|
||||
for memory_id in selected_memory_ids:
|
||||
memory = await working_memory.retrieve_memory(memory_id)
|
||||
if memory:
|
||||
# memory_content = memory.data
|
||||
memory_summary = memory.summary
|
||||
memory_id = memory.id
|
||||
memory_brief = memory_summary.get("brief")
|
||||
memory_keypoints = memory_summary.get("key_points", [])
|
||||
for keypoint in memory_keypoints:
|
||||
memory_str += f"记忆要点:{keypoint}\n"
|
||||
memory_points = memory_summary.get("points", [])
|
||||
for point in memory_points:
|
||||
memory_str += f"记忆要点:{point}\n"
|
||||
|
||||
working_memory_info = WorkingMemoryInfo()
|
||||
if memory_str:
|
||||
@@ -216,9 +213,7 @@ class WorkingMemoryProcessor(BaseProcessor):
|
||||
merged_memory = await working_memory.merge_memory(memory_id1, memory_id2)
|
||||
logger.debug(f"{self.log_prefix} 异步合并记忆成功: {memory_id1} 和 {memory_id2}...")
|
||||
logger.debug(f"{self.log_prefix} 合并后的记忆梗概: {merged_memory.summary.get('brief')}")
|
||||
logger.debug(f"{self.log_prefix} 合并后的记忆详情: {merged_memory.summary.get('detailed')}")
|
||||
logger.debug(f"{self.log_prefix} 合并后的记忆要点: {merged_memory.summary.get('key_points')}")
|
||||
logger.debug(f"{self.log_prefix} 合并后的记忆事件: {merged_memory.summary.get('events')}")
|
||||
logger.debug(f"{self.log_prefix} 合并后的记忆要点: {merged_memory.summary.get('points')}")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"{self.log_prefix} 异步合并记忆失败: {e}")
|
||||
|
||||
Reference in New Issue
Block a user