feat(chat): 引入跨群聊上下文共享功能
该功能允许在不同但相关的群聊之间共享对话上下文,从而提供更连贯和情境感知的回复。 主要实现方式: - 在配置文件中引入 `cross_context` 部分,允许用户定义“共享组”,将多个群聊ID(原始ID)归入一组。 - 新增 `_build_cross_context_block` 方法,用于构建并注入到Prompt中。 - 支持两种上下文获取模式: - `normal` 模式:获取共享组内其他群聊的最新消息。 - `s4u` 模式:获取当前发言用户在共享组内其他群聊的近期发言记录。 - 更新了Prompt模板以包含新的 `cross_context_block`。 - 提供了相应的配置模板和版本号更新。
This commit is contained in:
@@ -685,3 +685,15 @@ class MonthlyPlanSystemConfig(ValidatedConfigBase):
|
||||
generation_threshold: int = Field(default=10, ge=0, description="启动时,如果当月计划少于此数量,则触发LLM生成")
|
||||
plans_per_generation: int = Field(default=5, ge=1, description="每次调用LLM期望生成的计划数量")
|
||||
deletion_probability_on_use: float = Field(default=0.5, ge=0.0, le=1.0, description="计划被使用后,被删除的概率")
|
||||
|
||||
|
||||
class ContextGroup(ValidatedConfigBase):
|
||||
"""上下文共享组配置"""
|
||||
name: str = Field(..., description="共享组的名称")
|
||||
chat_ids: List[str] = Field(..., description="属于该组的聊天ID列表")
|
||||
|
||||
|
||||
class CrossContextConfig(ValidatedConfigBase):
|
||||
"""跨群聊上下文共享配置"""
|
||||
enable: bool = Field(default=False, description="是否启用跨群聊上下文共享功能")
|
||||
groups: List[ContextGroup] = Field(default_factory=list, description="上下文共享组列表")
|
||||
|
||||
Reference in New Issue
Block a user