feat(memory): 重构记忆系统并移除插件热重载

重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。

主要变更:
- 引入全局记忆作用域,简化记忆管理
- 实现记忆指纹去重,避免重复记忆存储
- 新增查询规划器,支持语义查询规划和记忆类型过滤
- 优化多阶段检索,增加语义重排和权重配置
- 改进向量存储,支持嵌入维度自动解析和查询向量生成
- 增强元数据索引,支持主体索引和更新操作
- 记忆构建器支持多主体和自然语言展示
- 移除watchdog依赖和插件热重载模块
- 更新配置模板,简化记忆配置项

BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
This commit is contained in:
Windpicker-owo
2025-10-01 04:56:32 +08:00
parent 53c7b1e6fe
commit dc39fd26c7
29 changed files with 1638 additions and 922 deletions

View File

@@ -255,25 +255,34 @@ max_context_emojis = 30 # 每次随机传递给LLM的表情包详细描述的最
[memory]
enable_memory = true # 是否启用记忆系统
memory_build_interval = 600 # 记忆构建间隔 单位秒 间隔越低MoFox-Bot学习越多但是冗余信息也会增多
memory_build_distribution = [6.0, 3.0, 0.6, 32.0, 12.0, 0.4] # 记忆构建分布参数分布1均值标准差权重分布2均值标准差权重
memory_build_sample_num = 8 # 采样数量,数值越高记忆采样次数越多
memory_build_sample_length = 30 # 采样长度,数值越高一段记忆内容越丰富
memory_compress_rate = 0.1 # 记忆压缩率 控制记忆精简程度 建议保持默认,调高可以获得更多信息,但是冗余信息也会增多
forget_memory_interval = 3000 # 记忆遗忘间隔 单位秒 间隔越低MoFox-Bot遗忘越频繁记忆更精简但更难学习
memory_forget_time = 48 #多长时间后的记忆会被遗忘 单位小时
memory_forget_percentage = 0.008 # 记忆遗忘比例 控制记忆遗忘程度 越大遗忘越多 建议保持默认
consolidate_memory_interval = 1000 # 记忆整合间隔 单位秒 间隔越低MoFox-Bot整合越频繁记忆更精简
consolidation_similarity_threshold = 0.7 # 相似度阈值
consolidation_check_percentage = 0.05 # 检查节点比例
enable_instant_memory = false # 是否启用即时记忆,测试功能,可能存在未知问题
enable_instant_memory = true # 是否启用即时记忆
enable_llm_instant_memory = true # 是否启用基于LLM的瞬时记忆
enable_vector_instant_memory = true # 是否启用基于向量的瞬时记忆
enable_enhanced_memory = true # 是否启用增强记忆系统
enhanced_memory_auto_save = true # 是否自动保存增强记忆
#不希望记忆的词,已经记忆的不会受到影响,需要手动清理
memory_ban_words = [ "表情包", "图片", "回复", "聊天记录" ]
min_memory_length = 10 # 最小记忆长度
max_memory_length = 500 # 最大记忆长度
memory_value_threshold = 0.7 # 记忆价值阈值,低于该值的记忆会被丢弃
vector_similarity_threshold = 0.8 # 向量相似度阈值
semantic_similarity_threshold = 0.6 # 语义重排阶段的最低匹配阈值
metadata_filter_limit = 100 # 元数据过滤阶段返回数量上限
vector_search_limit = 50 # 向量搜索阶段返回数量上限
semantic_rerank_limit = 20 # 语义重排阶段返回数量上限
final_result_limit = 10 # 综合筛选后的最终返回数量
vector_weight = 0.4 # 综合评分中向量相似度的权重
semantic_weight = 0.3 # 综合评分中语义匹配的权重
context_weight = 0.2 # 综合评分中上下文关联的权重
recency_weight = 0.1 # 综合评分中时效性的权重
fusion_similarity_threshold = 0.85 # 记忆融合时的相似度阈值
deduplication_window_hours = 24 # 记忆去重窗口(小时)
enable_memory_cache = true # 是否启用本地记忆缓存
cache_ttl_seconds = 300 # 缓存有效期(秒)
max_cache_size = 1000 # 缓存中允许的最大记忆条数
[voice]
enable_asr = true # 是否启用语音识别启用后MoFox-Bot可以识别语音消息启用该功能需要配置语音识别模型[model.voice]

View File

@@ -1,5 +1,5 @@
[inner]
version = "1.3.5"
version = "1.3.6"
# 配置文件版本号迭代规则同bot_config.toml
@@ -203,6 +203,7 @@ max_tokens = 1000
#嵌入模型
[model_task_config.embedding]
model_list = ["bge-m3"]
embedding_dimension = 1024