From 36b1b72e25d9926cd272428e0135bafd9757b67b Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Fri, 14 Nov 2025 16:15:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(prompt):=20=E7=A7=BB=E9=99=A4=E6=B3=A8?= =?UTF-8?q?=E6=84=8F=E5=8A=9B=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 注意力优化功能(通过添加随机空白字符或语义变体)被证明效果不佳且可能引入不稳定性。 为了简化代码库、减少用户配置的复杂性并提高系统的稳定性,决定移除此实验性功能。这使得提示词构建过程更加直接和可预测。 BREAKING CHANGE: 移除了注意力优化功能及其所有相关配置。用户需要从配置文件中移除 `[attention_optimization]` 部分。 --- src/chat/utils/prompt.py | 9 --------- src/chat/utils/prompt_params.py | 1 - src/config/config.py | 5 +---- src/config/official_configs.py | 12 +----------- template/bot_config_template.toml | 8 +------- 5 files changed, 3 insertions(+), 32 deletions(-) diff --git a/src/chat/utils/prompt.py b/src/chat/utils/prompt.py index 9d26678b8..668884d93 100644 --- a/src/chat/utils/prompt.py +++ b/src/chat/utils/prompt.py @@ -375,15 +375,6 @@ class Prompt: # 这样做可以更早地组合模板,也使得`Prompt`类的职责更单一。 result = main_formatted_prompt - # 步骤 4: 注意力优化(如果启用) - # 通过轻量级随机化避免提示词过度相似导致LLM注意力退化 - if self.parameters.enable_attention_optimization: - from src.chat.utils.attention_optimizer import get_attention_optimizer - - optimizer = get_attention_optimizer() - result = optimizer.optimize_prompt(result, context_data) - logger.debug("已应用注意力优化") - total_time = time.time() - start_time logger.debug( f"Prompt构建完成,模式: {self.parameters.prompt_mode}, 耗时: {total_time:.2f}s" diff --git a/src/chat/utils/prompt_params.py b/src/chat/utils/prompt_params.py index 9f6c60d3a..ab07e1688 100644 --- a/src/chat/utils/prompt_params.py +++ b/src/chat/utils/prompt_params.py @@ -27,7 +27,6 @@ class PromptParameters: enable_relation: bool = True enable_cross_context: bool = True enable_knowledge: bool = True - enable_attention_optimization: bool = True # 注意力优化开关 # 性能控制 max_context_messages: int = 50 diff --git a/src/config/config.py b/src/config/config.py index 014fda23a..b3925e608 100644 --- a/src/config/config.py +++ b/src/config/config.py @@ -13,7 +13,6 @@ from src.common.logger import get_logger from src.config.config_base import ValidatedConfigBase from src.config.official_configs import ( AffinityFlowConfig, - AttentionOptimizationConfig, BotConfig, ChatConfig, ChineseTypoConfig, @@ -392,9 +391,7 @@ class Config(ValidatedConfigBase): tool: ToolConfig = Field(..., description="工具配置") debug: DebugConfig = Field(..., description="调试配置") custom_prompt: CustomPromptConfig = Field(..., description="自定义提示配置") - attention_optimization: AttentionOptimizationConfig = Field( - default_factory=lambda: AttentionOptimizationConfig(), description="注意力优化配置" - ) + voice: VoiceConfig = Field(..., description="语音配置") permission: PermissionConfig = Field(..., description="权限配置") command: CommandConfig = Field(..., description="命令系统配置") diff --git a/src/config/official_configs.py b/src/config/official_configs.py index 570c482f7..edb2438f1 100644 --- a/src/config/official_configs.py +++ b/src/config/official_configs.py @@ -427,7 +427,7 @@ class MemoryConfig(ValidatedConfigBase): search_max_expand_depth: int = Field(default=2, description="检索时图扩展深度(0-3)") search_expand_semantic_threshold: float = Field(default=0.3, description="图扩展时语义相似度阈值(建议0.3-0.5,过低可能引入无关记忆,过高无法扩展)") enable_query_optimization: bool = Field(default=True, description="启用查询优化") - + # 路径扩展配置 (新算法) enable_path_expansion: bool = Field(default=False, description="启用路径评分扩展算法(实验性功能)") path_expansion_max_hops: int = Field(default=2, description="路径扩展最大跳数") @@ -533,16 +533,6 @@ class CustomPromptConfig(ValidatedConfigBase): planner_custom_prompt_content: str = Field(default="", description="规划器自定义提示词内容") -class AttentionOptimizationConfig(ValidatedConfigBase): - """注意力优化配置类 - 防止提示词过度相似导致LLM注意力退化""" - - enable_noise: bool = Field(default=True, description="启用轻量级噪声注入(空白字符调整)") - enable_semantic_variants: bool = Field(default=False, description="启用语义变体替换(实验性功能)") - noise_strength: Literal["light", "medium", "heavy"] = Field( - default="light", description="噪声强度: light(轻量) | medium(中等) | heavy(强力)" - ) - - class ResponsePostProcessConfig(ValidatedConfigBase): """回复后处理配置类""" diff --git a/template/bot_config_template.toml b/template/bot_config_template.toml index 50bc5b8a3..c7f011d81 100644 --- a/template/bot_config_template.toml +++ b/template/bot_config_template.toml @@ -1,5 +1,5 @@ [inner] -version = "7.7.0" +version = "7.7.1" #----以下是给开发人员阅读的,如果你只是部署了MoFox-Bot,不需要阅读---- #如果你想要修改配置文件,请递增version的值 @@ -351,12 +351,6 @@ reaction = "请按照以下模板造句:[n]是这样的,xx只要xx就可以 image_prompt = "请用中文描述这张图片的内容。如果有文字,请把文字描述概括出来,请留意其主题,直观感受,输出为一段平文本,最多30字,请注意不要分点,就输出一段文本" planner_custom_prompt_content = "" # 决策器自定义提示词内容,如果这里没有内容则不生效 -# 注意力优化配置 - 防止提示词过度相似导致LLM注意力退化 -[attention_optimization] -enable_noise = false # 启用轻量级噪声注入(空白字符调整) -enable_semantic_variants = false # 启用语义变体替换(实验性功能) -noise_strength = "light" # 噪声强度: "light"(轻量) | "medium"(中等) | "heavy"(强力),推荐使用light - [response_post_process] enable_response_post_process = true # 是否启用回复后处理,包括错别字生成器,回复分割器