feat(cross_context): 新增以用户为中心的跨上下文检索功能
引入了一种全新的“用户中心”跨上下文检索模式,以替代并废弃了原有的固定共享组模式。 当回复特定用户时,系统现在可以自动从该用户参与的其他聊天(包括私聊和群聊)中检索其最近的发言记录,从而为大语言模型提供更丰富、更具个性化的上下文,以生成更相关的回复。 此功能可通过配置进行精细化控制,支持“全局启用”、“白名单”和“禁用”三种模式,并可设置检索的消息数量和聊天流数量上限。 此外,本次更新还包含一些健壮性修复: - 修正了事件管理器返回结果可能为None时导致属性错误的潜在问题。 - 增强了对消息内容和用户昵称等可能为空值的处理。 BREAKING CHANGE: `cross_context` 的配置结构已完全重构。原有的 `groups` 配置项已被废弃。请用户根据新的 `bot_config_template.toml` 文件更新配置,迁移到新的 `user_centric_retrieval_mode`、`whitelist_chats` 和 `blacklist_chats` 格式。
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
[inner]
|
||||
version = "7.2.6"
|
||||
version = "7.2.7"
|
||||
|
||||
#----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读----
|
||||
#如果你想要修改配置文件,请递增version的值
|
||||
@@ -518,29 +518,35 @@ insomnia_duration_minutes = [30, 60] # 单次失眠状态的持续时间范围
|
||||
# 入睡后,经过一段延迟后触发失眠判定的延迟时间(分钟),设置为范围以增加随机性
|
||||
insomnia_trigger_delay_minutes = [15, 45]
|
||||
|
||||
[cross_context] # 跨群聊/私聊上下文共享配置
|
||||
# 这是总开关,用于一键启用或禁用此功能
|
||||
[cross_context] # 跨上下文共享配置
|
||||
# 总开关,用于一键启用或禁用所有跨上下文功能
|
||||
enable = true
|
||||
# 在这里定义您的“共享组”
|
||||
# 只有在同一个组内的聊天才会共享上下文
|
||||
# 格式:chat_ids = [["type", "id"], ["type", "id"], ...]
|
||||
# type 可选 "group" 或 "private"
|
||||
[[cross_context.groups]]
|
||||
name = "项目A技术讨论组"
|
||||
chat_ids = [
|
||||
["group", "169850076"], # 假设这是“开发群”的ID
|
||||
["group", "1025509724"], # 假设这是“产品群”的ID
|
||||
["private", "123456789"] # 假设这是某个用户的私聊
|
||||
|
||||
# --- 用户中心上下文检索 ---
|
||||
# 当回复特定用户时,自动从该用户参与的其他聊天中检索最近对话,以提供更丰富的上下文。
|
||||
# mode: "disabled" - 禁用此功能
|
||||
# "all" - 对所有聊天启用(黑名单除外)
|
||||
# "whitelist" - 仅对白名单内的聊天启用
|
||||
user_centric_retrieval_mode = "disabled"
|
||||
user_centric_retrieval_limit = 5 # 检索附加上下文时,获取的最大历史消息数量
|
||||
user_centric_retrieval_stream_limit = 3 # 检索附加上下文时,检索的聊天流数量上限,0为不限制
|
||||
|
||||
# 白名单 (仅当 mode = "whitelist" 时生效)
|
||||
# 如果列表为空,则功能不应用于任何聊天
|
||||
# 格式: [["type", "id"], ...] (type: "group" 或 "private")
|
||||
whitelist_chats = [
|
||||
# ["group", "123456"],
|
||||
# ["private", "789012"]
|
||||
]
|
||||
# 定义QQ空间互通组
|
||||
# 同一个组的chat_id会共享上下文,用于生成更相关的说说
|
||||
[[cross_context.maizone_context_group]]
|
||||
name = "Maizone默认互通组"
|
||||
chat_ids = [
|
||||
["group", "111111"], # 示例群聊1
|
||||
["private", "222222"] # 示例私聊2
|
||||
|
||||
# 黑名单 (当 mode = "all" 时生效)
|
||||
# 如果列表为空,则功能应用于所有聊天
|
||||
# 格式: [["type", "id"], ...]
|
||||
blacklist_chats = [
|
||||
# ["group", "987654"]
|
||||
]
|
||||
|
||||
|
||||
[affinity_flow]
|
||||
# 兴趣评分系统参数
|
||||
reply_action_interest_threshold = 1.1 # 回复动作兴趣阈值
|
||||
|
||||
Reference in New Issue
Block a user