feat: 重构记忆系统配置,移除三层记忆相关配置,优化全局记忆管理逻辑,支持批量生成文本向量

This commit is contained in:
Windpicker-owo
2025-11-19 19:16:27 +08:00
parent 5231404852
commit cf48d02ed3
10 changed files with 164 additions and 139 deletions

View File

@@ -1,5 +1,5 @@
[inner]
version = "7.8.1"
version = "7.8.2"
#----以下是给开发人员阅读的如果你只是部署了MoFox-Bot不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -251,49 +251,10 @@ vector_db_path = "data/memory_graph/chroma_db" # 向量数据库路径 (使用
search_top_k = 10 # 默认检索返回数量
search_min_importance = 0.3 # 最小重要性阈值 (0.0-1.0)
search_similarity_threshold = 0.6 # 向量相似度阈值
search_expand_semantic_threshold = 0.3 # 图扩展时语义相似度阈值建议0.3-0.5,过低可能引入无关记忆,过高无法扩展)
# 智能查询优化
enable_query_optimization = true # 启用查询优化(使用小模型分析对话历史,生成综合性搜索查询)
# === 记忆整合配置 ===
# 记忆整合包含两个功能1)去重合并相似记忆2)关联(建立记忆关系)
# 注意:整合任务会遍历所有记忆进行相似度计算,可能占用较多资源
# 建议1) 降低执行频率2) 提高相似度阈值减少误判3) 限制批量大小
consolidation_enabled = true # 是否启用记忆整合
consolidation_interval_hours = 1.0 # 整合任务执行间隔
consolidation_deduplication_threshold = 0.9 # 相似记忆去重阈值
consolidation_time_window_hours = 2.0 # 整合时间窗口(小时)- 统一用于去重和关联
consolidation_max_batch_size = 100 # 单次最多处理的记忆数量
# 记忆关联配置(整合功能的子模块)
consolidation_linking_enabled = true # 是否启用记忆关联建立
consolidation_linking_max_candidates = 10 # 每个记忆最多关联的候选数
consolidation_linking_max_memories = 20 # 单次最多处理的记忆总数
consolidation_linking_min_importance = 0.5 # 最低重要性阈值(低于此值的记忆不参与关联)
consolidation_linking_pre_filter_threshold = 0.7 # 向量相似度预筛选阈值
consolidation_linking_max_pairs_for_llm = 5 # 最多发送给LLM分析的候选对数
consolidation_linking_min_confidence = 0.7 # LLM分析最低置信度阈值
consolidation_linking_llm_temperature = 0.2 # LLM分析温度参数
consolidation_linking_llm_max_tokens = 1500 # LLM分析最大输出长度
# === 记忆遗忘配置 ===
forgetting_enabled = true # 是否启用自动遗忘
forgetting_activation_threshold = 0.1 # 激活度阈值(低于此值的记忆会被遗忘)
forgetting_min_importance = 0.8 # 最小保护重要性(高于此值的记忆不会被遗忘)
# === 记忆激活配置 ===
activation_decay_rate = 0.9 # 激活度衰减率每天衰减10%
activation_propagation_strength = 0.5 # 激活传播强度(传播到相关记忆的激活度比例)
activation_propagation_depth = 1 # 激活传播深度最多传播几层建议1-2
# === 记忆检索配置 ===
search_max_expand_depth = 2 # 检索时图扩展深度0=仅直接匹配1=扩展1跳2=扩展2跳推荐1-2
search_vector_weight = 0.4 # 向量相似度权重
search_graph_distance_weight = 0.2 # 图距离权重
search_importance_weight = 0.2 # 重要性权重
search_recency_weight = 0.2 # 时效性权重
# === 路径评分扩展算法配置(实验性功能)===
# 这是一种全新的图检索算法,通过路径传播和分数聚合来发现相关记忆
# 优势:更精确的图结构利用、路径合并机制、动态剪枝优化
@@ -308,6 +269,48 @@ path_expansion_path_score_weight = 0.50 # 路径分数在最终评分中的权
path_expansion_importance_weight = 0.30 # 重要性在最终评分中的权重
path_expansion_recency_weight = 0.20 # 时效性在最终评分中的权重
# 🆕 路径扩展 - 记忆去重配置
enable_memory_deduplication = true # 启用检索结果去重(合并相似记忆)
memory_deduplication_threshold = 0.85 # 记忆相似度阈值0.85表示85%相似即合并)
# === 记忆遗忘配置 ===
forgetting_enabled = true # 是否启用自动遗忘
forgetting_activation_threshold = 0.1 # 激活度阈值(低于此值的记忆会被遗忘)
forgetting_min_importance = 0.8 # 最小保护重要性(高于此值的记忆不会被遗忘)
# === 记忆激活配置 ===
activation_decay_rate = 0.9 # 激活度衰减率每天衰减10%
activation_propagation_strength = 0.5 # 激活传播强度(传播到相关记忆的激活度比例)
activation_propagation_depth = 1 # 激活传播深度最多传播几层建议1-2
# === 记忆激活配置(强制执行)===
auto_activate_base_strength = 0.1 # 记忆被检索时自动激活的基础强度
auto_activate_max_count = 10 # 单次搜索最多自动激活的记忆数量
# === 三层记忆系统配置 ===
# 感知记忆层配置
perceptual_max_blocks = 50 # 记忆堆最大容量(全局)
perceptual_block_size = 5 # 每个记忆块包含的消息数量
perceptual_similarity_threshold = 0.55 # 相似度阈值0-1
perceptual_topk = 3 # TopK召回数量
perceptual_activation_threshold = 3 # 激活阈值(召回次数→短期)
# 短期记忆层配置
short_term_max_memories = 30 # 短期记忆最大数量
short_term_transfer_threshold = 0.6 # 转移到长期记忆的重要性阈值
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 = 180 # 自动转移间隔(秒)
# 节点去重合并配置
node_merger_similarity_threshold = 0.85 # 节点去重相似度阈值
node_merger_context_match_required = true # 节点合并是否要求上下文匹配
node_merger_merge_batch_size = 50 # 节点合并批量处理大小
# === 性能配置 ===
max_memory_nodes_per_memory = 10 # 每条记忆最多包含的节点数
max_related_memories = 5 # 激活传播时最多影响的相关记忆数
@@ -317,29 +320,6 @@ max_related_memories = 5 # 激活传播时最多影响的相关记忆数
# 1. 感知记忆层 (Perceptual Memory) - 消息块的短期缓存,自动收集
# 2. 短期记忆层 (Short-term Memory) - 结构化的活跃记忆,模型格式化
# 3. 长期记忆层 (Long-term Memory) - 持久化的图结构记忆,批量转移
[three_tier_memory]
enable = false # 是否启用三层记忆系统(已经是核心系统,建议启用)
data_dir = "data/memory_graph/three_tier" # 数据存储目录
# --- 感知记忆层配置 ---
perceptual_max_blocks = 50 # 记忆堆最大容量(全局)
perceptual_block_size = 5 # 每个记忆块包含的消息数量
perceptual_similarity_threshold = 0.55 # 相似度阈值0-1
perceptual_topk = 5 # TopK召回数量
perceptual_activation_threshold = 3 # 激活阈值(召回次数达到此值→转为短期记忆)
# --- 短期记忆层配置 ---
short_term_max_memories = 30 # 短期记忆最大数量(达到上限触发批量转移)
short_term_transfer_threshold = 0.6 # 转移到长期记忆的重要性阈值0.0-1.0
short_term_search_top_k = 5 # 搜索时返回的最大数量
# --- 长期记忆层配置 ---
long_term_batch_size = 10 # 批量转移大小(每次转移多少条短期记忆)
long_term_search_top_k = 5 # 长期记忆二次检索返回数量
# --- 记忆检索配置 ---
enable_judge_retrieval = true # 启用智能检索判断(裁判模型评估是否需要二次检索)
judge_confidence_threshold = 0.7 # 裁判模型置信度阈值
[voice]
enable_asr = true # 是否启用语音识别启用后MoFox-Bot可以识别语音消息启用该功能需要配置语音识别模型[model.voice]