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:
@@ -640,10 +640,19 @@ class ContextGroup(ValidatedConfigBase):
|
||||
|
||||
|
||||
class CrossContextConfig(ValidatedConfigBase):
|
||||
"""跨群聊上下文共享配置"""
|
||||
"""跨上下文共享配置"""
|
||||
|
||||
enable: bool = Field(default=False, description="是否启用跨群聊上下文共享功能")
|
||||
groups: list[ContextGroup] = Field(default_factory=list, description="上下文共享组列表")
|
||||
enable: bool = Field(default=True, description="是否启用跨上下文共享功能")
|
||||
user_centric_retrieval_mode: Literal["disabled", "all", "whitelist"] = Field(
|
||||
default="disabled", description="用户中心上下文检索模式"
|
||||
)
|
||||
user_centric_retrieval_limit: int = Field(default=5, ge=1, le=50, description="用户中心上下文检索数量上限")
|
||||
user_centric_retrieval_stream_limit: int = Field(
|
||||
default=3, ge=0, description="用户中心上下文检索的聊天流数量上限,0为不限制"
|
||||
)
|
||||
whitelist_chats: list[list[str]] = Field(default_factory=list, description="白名单聊天列表")
|
||||
blacklist_chats: list[list[str]] = Field(default_factory=list, description="黑名单聊天列表")
|
||||
# DEPRECATED: groups: list[ContextGroup] = Field(default_factory=list, description="上下文共享组列表")
|
||||
|
||||
|
||||
class CommandConfig(ValidatedConfigBase):
|
||||
|
||||
Reference in New Issue
Block a user