refactor(config): 整合搜索服务配置并移除废弃选项
将原先独立的 Exa 和 Tavily 搜索引擎配置项合并到 `web_search` 配置块中,以实现更统一的管理。同时,移除了已废弃的 `Telemetry` 和部分 `Experimental` 功能配置,简化了整体配置文件结构。 主要变更: - `ExaConfig` 和 `TavilyConfig` 被移除,其 API 密钥设置已迁移至 `WebSearchConfig`。 - 删除了 `TelemetryConfig` 及其在主配置中的引用。 - 简化了 `planner` 的自定义提示词逻辑,现在仅通过内容是否为空来判断是否启用。 - 更新了配置文件模板,以反映上述结构调整并移除过时的注释和配置项。
This commit is contained in:
@@ -521,7 +521,7 @@ class ActionPlanner:
|
||||
moderation_prompt_block = "请不要输出违法违规内容,不要输出色情,暴力,政治相关内容,如有敏感内容,请规避。"
|
||||
|
||||
custom_prompt_block = ""
|
||||
if global_config.custom_prompt.planner_custom_prompt_enable and global_config.custom_prompt.planner_custom_prompt_content:
|
||||
if global_config.custom_prompt.planner_custom_prompt_content:
|
||||
custom_prompt_block = global_config.custom_prompt.planner_custom_prompt_content
|
||||
|
||||
planner_prompt_template = await global_prompt_manager.get_prompt_async("planner_prompt")
|
||||
|
||||
@@ -26,7 +26,6 @@ from src.config.official_configs import (
|
||||
ChineseTypoConfig,
|
||||
ResponsePostProcessConfig,
|
||||
ResponseSplitterConfig,
|
||||
TelemetryConfig,
|
||||
ExperimentalConfig,
|
||||
MessageReceiveConfig,
|
||||
MaimMessageConfig,
|
||||
@@ -39,9 +38,7 @@ from src.config.official_configs import (
|
||||
ScheduleConfig,
|
||||
VideoAnalysisConfig,
|
||||
DependencyManagementConfig,
|
||||
ExaConfig,
|
||||
WebSearchConfig,
|
||||
TavilyConfig,
|
||||
AntiPromptInjectionConfig,
|
||||
PluginsConfig,
|
||||
WakeUpSystemConfig,
|
||||
@@ -375,7 +372,6 @@ class Config(ValidatedConfigBase):
|
||||
chinese_typo: ChineseTypoConfig = Field(..., description="中文错别字配置")
|
||||
response_post_process: ResponsePostProcessConfig = Field(..., description="响应后处理配置")
|
||||
response_splitter: ResponseSplitterConfig = Field(..., description="响应分割配置")
|
||||
telemetry: TelemetryConfig = Field(..., description="遥测配置")
|
||||
experimental: ExperimentalConfig = Field(..., description="实验性功能配置")
|
||||
maim_message: MaimMessageConfig = Field(..., description="Maim消息配置")
|
||||
lpmm_knowledge: LPMMKnowledgeConfig = Field(..., description="LPMM知识配置")
|
||||
@@ -390,9 +386,7 @@ class Config(ValidatedConfigBase):
|
||||
anti_prompt_injection: AntiPromptInjectionConfig = Field(default_factory=lambda: AntiPromptInjectionConfig(), description="反提示注入配置")
|
||||
video_analysis: VideoAnalysisConfig = Field(default_factory=lambda: VideoAnalysisConfig(), description="视频分析配置")
|
||||
dependency_management: DependencyManagementConfig = Field(default_factory=lambda: DependencyManagementConfig(), description="依赖管理配置")
|
||||
exa: ExaConfig = Field(default_factory=lambda: ExaConfig(), description="Exa配置")
|
||||
web_search: WebSearchConfig = Field(default_factory=lambda: WebSearchConfig(), description="网络搜索配置")
|
||||
tavily: TavilyConfig = Field(default_factory=lambda: TavilyConfig(), description="Tavily配置")
|
||||
plugins: PluginsConfig = Field(default_factory=lambda: PluginsConfig(), description="插件配置")
|
||||
wakeup_system: WakeUpSystemConfig = Field(default_factory=lambda: WakeUpSystemConfig(), description="唤醒度系统配置")
|
||||
monthly_plan_system: MonthlyPlanSystemConfig = Field(default_factory=lambda: MonthlyPlanSystemConfig(), description="月层计划系统配置")
|
||||
|
||||
@@ -525,12 +525,6 @@ class ResponseSplitterConfig(ValidatedConfigBase):
|
||||
enable_kaomoji_protection: bool = Field(default=False, description="启用颜文字保护")
|
||||
|
||||
|
||||
class TelemetryConfig(ValidatedConfigBase):
|
||||
"""遥测配置类"""
|
||||
|
||||
enable: bool = Field(default=True, description="启用")
|
||||
|
||||
|
||||
class DebugConfig(ValidatedConfigBase):
|
||||
"""调试配置类"""
|
||||
|
||||
@@ -539,8 +533,6 @@ class DebugConfig(ValidatedConfigBase):
|
||||
|
||||
class ExperimentalConfig(ValidatedConfigBase):
|
||||
"""实验功能配置类"""
|
||||
|
||||
enable_friend_chat: bool = Field(default=False, description="启用好友聊天")
|
||||
pfc_chatting: bool = Field(default=False, description="启用PFC聊天")
|
||||
|
||||
|
||||
@@ -600,20 +592,6 @@ class DependencyManagementConfig(ValidatedConfigBase):
|
||||
|
||||
|
||||
|
||||
class ExaConfig(ValidatedConfigBase):
|
||||
"""EXA搜索引擎配置类"""
|
||||
|
||||
api_keys: list[str] = Field(default_factory=lambda: [], description="API密钥列表")
|
||||
|
||||
|
||||
|
||||
class TavilyConfig(ValidatedConfigBase):
|
||||
"""Tavily搜索引擎配置类"""
|
||||
|
||||
api_keys: list[str] = Field(default_factory=lambda: [], description="API密钥列表")
|
||||
|
||||
|
||||
|
||||
class VideoAnalysisConfig(ValidatedConfigBase):
|
||||
"""视频分析配置类"""
|
||||
|
||||
@@ -633,6 +611,8 @@ class WebSearchConfig(ValidatedConfigBase):
|
||||
|
||||
enable_web_search_tool: bool = Field(default=True, description="启用网络搜索工具")
|
||||
enable_url_tool: bool = Field(default=True, description="启用URL工具")
|
||||
tavily_api_keys: list[str] = Field(default_factory=lambda: [], description="Tavily API密钥列表,支持轮询机制")
|
||||
exa_api_keys: list[str] = Field(default_factory=lambda: [], description="exa API密钥列表,支持轮询机制")
|
||||
enabled_engines: list[str] = Field(default_factory=lambda: ["ddg"], description="启用的搜索引擎")
|
||||
search_strategy: Literal["fallback","single","parallel"] = Field(default="single", description="搜索策略")
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ class ExaSearchEngine(BaseSearchEngine):
|
||||
def _initialize_clients(self):
|
||||
"""初始化Exa客户端"""
|
||||
# 从主配置文件读取API密钥
|
||||
exa_api_keys = config_api.get_global_config("exa.api_keys", None)
|
||||
exa_api_keys = config_api.get_global_config("web_search.exa_api_keys", None)
|
||||
|
||||
# 创建API密钥管理器
|
||||
self.api_manager = create_api_key_manager_from_config(
|
||||
|
||||
@@ -25,7 +25,7 @@ class TavilySearchEngine(BaseSearchEngine):
|
||||
def _initialize_clients(self):
|
||||
"""初始化Tavily客户端"""
|
||||
# 从主配置文件读取API密钥
|
||||
tavily_api_keys = config_api.get_global_config("tavily.api_keys", None)
|
||||
tavily_api_keys = config_api.get_global_config("web_search.tavily_api_keys", None)
|
||||
|
||||
# 创建API密钥管理器
|
||||
self.api_manager = create_api_key_manager_from_config(
|
||||
|
||||
Reference in New Issue
Block a user