refactor(planner): 采用统一的多动作决策模型取代大脑/小脑架构
本次更新彻底重构了动作规划器(Planner)的核心架构,废弃了原有的“大脑/小脑”并行决策模型,转而采用一个更简洁、高效的统一决策模型。 主要变更: - **统一决策**: 单个LLM调用现在可以一次性决策出所有需要执行的动作,并以JSON列表的形式返回。 - **架构简化**: 完全移除了 `sub_plan`(小脑)逻辑、`planner_small` 模型以及相关的并行处理和结果合并代码,大幅降低了复杂性。 - **配置精简**: 从配置文件中删除了与小脑相关的 `planner_size` 和 `include_personality` 选项,简化了用户配置。 - **提示词更新**: 更新了规划器的Prompt,明确指示LLM返回一个动作列表,即使只有一个动作或没有动作。 带来的好处: - **性能提升**: 减少了LLM API的调用次数,显著降低了单次规划的延迟和成本。 - **可维护性**: 代码逻辑更清晰、线性,易于理解和后续维护。 - **稳定性**: 减少了多路并发带来的不确定性和潜在的竞态问题。 BREAKING CHANGE: 移除了大脑/小脑规划器架构。 用户需要从 `model_config.toml` 中移除 `[model_task_config.planner_small]` 配置节,并从 `bot_config.toml` 中移除 `planner_size` 和 `include_personality` 配置项。
This commit is contained in:
@@ -135,7 +135,6 @@ class ModelTaskConfig(ValidatedConfigBase):
|
||||
voice: TaskConfig = Field(..., description="语音识别模型配置")
|
||||
tool_use: TaskConfig = Field(..., description="专注工具使用模型配置")
|
||||
planner: TaskConfig = Field(..., description="规划模型配置")
|
||||
planner_small: TaskConfig = Field(..., description="小脑(sub-planner)规划模型配置")
|
||||
embedding: TaskConfig = Field(..., description="嵌入模型配置")
|
||||
lpmm_entity_extract: TaskConfig = Field(..., description="LPMM实体提取模型配置")
|
||||
lpmm_rdf_build: TaskConfig = Field(..., description="LPMM RDF构建模型配置")
|
||||
|
||||
@@ -92,8 +92,6 @@ class ChatConfig(ValidatedConfigBase):
|
||||
default_factory=list, description="启用主动思考的群聊范围,格式:platform:group_id,为空则不限制"
|
||||
)
|
||||
delta_sigma: int = Field(default=120, description="采用正态分布随机时间间隔")
|
||||
planner_size: float = Field(default=5.0, ge=1.0, description="小脑(sub-planner)的尺寸,决定每个小脑处理多少个action")
|
||||
include_personality: bool = Field(default=False, description="是否在小脑决策中包含角色人设信息")
|
||||
|
||||
def get_current_talk_frequency(self, chat_stream_id: Optional[str] = None) -> float:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user