尝试减少不同群内的同义词混淆 以及允许用户设置指定群组记忆私有

用户设置指定群组记忆私有会导致记忆的语料严重减少  未设置群组记忆私有的记忆会开放对于所有群聊
因此要不就修改其他记忆配置  增强学习/记忆能力  或者增加单一群组的信息流数量  或者增加公开记忆的信息流数量

记忆检索时会按以下优先级返回记忆:
当前群组的记忆(如果群聊属于某个群组)
当前群聊的记忆(如果不属于任何群组)
公共记忆(无群组/群聊标识的记忆)
其他非私有群组的记忆
5. 跨群记忆连接
同一群组内的主题使用较强连接(相似度×10)
跨群组的相似主题使用较弱连接(相似度×5)
相同群组/群聊的相似主题会获得20%的相似度加成
This commit is contained in:
Cindy-Master
2025-03-12 16:56:12 +08:00
parent 23c9211d93
commit 50c468e519
4 changed files with 203 additions and 18 deletions

View File

@@ -104,6 +104,12 @@ class BotConfig:
memory_ban_words: list = field(
default_factory=lambda: ["表情包", "图片", "回复", "聊天记录"]
) # 添加新的配置项默认值
# 是否优先使用当前群组的记忆
memory_group_priority: bool = True # 默认开启群组记忆优先
# 群组记忆私有化
memory_private_groups: dict = field(default_factory=dict) # 群组私有记忆配置
@staticmethod
def get_config_dir() -> str:
@@ -304,6 +310,12 @@ class BotConfig:
config.memory_forget_time = memory_config.get("memory_forget_time", config.memory_forget_time)
config.memory_forget_percentage = memory_config.get("memory_forget_percentage", config.memory_forget_percentage)
config.memory_compress_rate = memory_config.get("memory_compress_rate", config.memory_compress_rate)
# 添加对memory_group_priority配置项的加载
config.memory_group_priority = memory_config.get("memory_group_priority", config.memory_group_priority)
if config.INNER_VERSION in SpecifierSet(">=0.0.9"):
# 添加群组记忆私有化配置项的加载
config.memory_private_groups = memory_config.get("memory_private_groups", {})
def mood(parent: dict):
mood_config = parent["mood"]