feat: 采用三层内存系统实现统一内存管理器
- 添加了UnifiedMemoryManager,以整合感知层、短期记忆层和长期记忆层。 - 实现了初始化、消息添加和内存搜索功能。 - 引入了记忆从短期存储到长期存储的自动转移机制。 - 开发了用于结构化内存表示的内存格式化工具。 - 增强日志记录功能,以便在内存操作过程中更好地进行追踪。
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
[inner]
|
||||
version = "7.8.0"
|
||||
version = "7.8.1"
|
||||
|
||||
#----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读----
|
||||
#如果你想要修改配置文件,请递增version的值
|
||||
@@ -314,35 +314,32 @@ max_related_memories = 5 # 激活传播时最多影响的相关记忆数
|
||||
|
||||
# ==================== 三层记忆系统配置 (Three-Tier Memory System) ====================
|
||||
# 受人脑记忆机制启发的分层记忆架构:
|
||||
# 1. 感知记忆层 (Perceptual Memory) - 消息块的短期缓存
|
||||
# 2. 短期记忆层 (Short-term Memory) - 结构化的活跃记忆
|
||||
# 3. 长期记忆层 (Long-term Memory) - 持久化的图结构记忆
|
||||
# 1. 感知记忆层 (Perceptual Memory) - 消息块的短期缓存,自动收集
|
||||
# 2. 短期记忆层 (Short-term Memory) - 结构化的活跃记忆,模型格式化
|
||||
# 3. 长期记忆层 (Long-term Memory) - 持久化的图结构记忆,批量转移
|
||||
[three_tier_memory]
|
||||
enable = false # 是否启用三层记忆系统(实验性功能,建议在测试环境先试用)
|
||||
enable = false # 是否启用三层记忆系统(已经是核心系统,建议启用)
|
||||
data_dir = "data/memory_graph/three_tier" # 数据存储目录
|
||||
|
||||
# --- 感知记忆层配置 ---
|
||||
perceptual_max_blocks = 50 # 记忆堆最大容量(全局,不区分聊天流)
|
||||
perceptual_max_blocks = 50 # 记忆堆最大容量(全局)
|
||||
perceptual_block_size = 5 # 每个记忆块包含的消息数量
|
||||
perceptual_similarity_threshold = 0.55 # 相似度阈值(0-1)
|
||||
perceptual_topk = 3 # TopK召回数量
|
||||
activation_threshold = 3 # 激活阈值(召回次数→短期)
|
||||
perceptual_topk = 5 # TopK召回数量
|
||||
perceptual_activation_threshold = 3 # 激活阈值(召回次数达到此值→转为短期记忆)
|
||||
|
||||
# --- 短期记忆层配置 ---
|
||||
short_term_max_memories = 30 # 短期记忆最大数量
|
||||
short_term_max_memories = 30 # 短期记忆最大数量(达到上限触发批量转移)
|
||||
short_term_transfer_threshold = 0.6 # 转移到长期记忆的重要性阈值(0.0-1.0)
|
||||
short_term_search_top_k = 5 # 搜索时返回的最大数量
|
||||
short_term_decay_factor = 0.98 # 衰减因子
|
||||
|
||||
# --- 长期记忆层配置 ---
|
||||
long_term_batch_size = 10 # 批量转移大小
|
||||
long_term_decay_factor = 0.95 # 衰减因子(比短期记忆慢)
|
||||
long_term_auto_transfer_interval = 600 # 自动转移间隔(秒)
|
||||
long_term_batch_size = 10 # 批量转移大小(每次转移多少条短期记忆)
|
||||
long_term_search_top_k = 5 # 长期记忆二次检索返回数量
|
||||
|
||||
# --- Judge模型配置 ---
|
||||
judge_model_name = "utils_small" # 用于决策的LLM模型
|
||||
judge_temperature = 0.1 # Judge模型的温度参数
|
||||
enable_judge_retrieval = true # 启用智能检索判断
|
||||
# --- 记忆检索配置 ---
|
||||
enable_judge_retrieval = true # 启用智能检索判断(裁判模型评估是否需要二次检索)
|
||||
judge_confidence_threshold = 0.7 # 裁判模型置信度阈值
|
||||
|
||||
[voice]
|
||||
enable_asr = true # 是否启用语音识别,启用后MoFox-Bot可以识别语音消息,启用该功能需要配置语音识别模型[model.voice]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[inner]
|
||||
version = "1.3.9"
|
||||
version = "1.4.0"
|
||||
|
||||
# 配置文件版本号迭代规则同bot_config.toml
|
||||
|
||||
@@ -214,3 +214,25 @@ max_tokens = 800
|
||||
model_list = ["deepseek-r1-distill-qwen-32b"]
|
||||
temperature = 0.7
|
||||
max_tokens = 800
|
||||
|
||||
#------------记忆系统专用模型------------
|
||||
|
||||
[model_task_config.memory_short_term_builder] # 短期记忆构建模型(感知→短期格式化)
|
||||
model_list = ["siliconflow-deepseek-ai/DeepSeek-V3.2-Exp"]
|
||||
temperature = 0.2
|
||||
max_tokens = 800
|
||||
|
||||
[model_task_config.memory_short_term_decider] # 短期记忆决策模型(决定合并/更新/新建/丢弃)
|
||||
model_list = ["siliconflow-deepseek-ai/DeepSeek-V3.2-Exp"]
|
||||
temperature = 0.2
|
||||
max_tokens = 1000
|
||||
|
||||
[model_task_config.memory_long_term_builder] # 长期记忆构建模型(短期→长期图结构)
|
||||
model_list = ["siliconflow-Qwen/Qwen3-Next-80B-A3B-Instruct"]
|
||||
temperature = 0.2
|
||||
max_tokens = 1500
|
||||
|
||||
[model_task_config.memory_judge] # 记忆检索裁判模型(判断检索是否充足)
|
||||
model_list = ["siliconflow-THUDM/GLM-4-9B-0414"]
|
||||
temperature = 0.1
|
||||
max_tokens = 600
|
||||
|
||||
Reference in New Issue
Block a user