fix(prompt): 通过延迟导入解决循环依赖问题
将 `global_prompt_manager` 的导入操作从模块顶部移动到具体使用它的方法内部。 此举旨在解决 `prompt_component_manager` 和 `prompt` 模块之间潜在的循环导入问题,确保在应用初始化时模块加载顺序的稳定性,避免可能因此引发的 `ImportError`。
This commit is contained in:
@@ -3,7 +3,6 @@ import copy
|
||||
import re
|
||||
from collections.abc import Awaitable, Callable
|
||||
|
||||
from src.chat.utils.prompt import global_prompt_manager
|
||||
from src.chat.utils.prompt_params import PromptParameters
|
||||
from src.common.logger import get_logger
|
||||
from src.plugin_system.base.base_prompt import BasePrompt
|
||||
@@ -258,6 +257,7 @@ class PromptComponentManager:
|
||||
"""
|
||||
try:
|
||||
# 从全局提示词管理器获取最原始的模板内容
|
||||
from src.chat.utils.prompt import global_prompt_manager
|
||||
original_prompt = global_prompt_manager._prompts.get(target_prompt_name)
|
||||
if not original_prompt:
|
||||
logger.warning(f"无法预览 '{target_prompt_name}',因为找不到这个核心 Prompt。")
|
||||
@@ -274,10 +274,12 @@ class PromptComponentManager:
|
||||
|
||||
def get_core_prompts(self) -> list[str]:
|
||||
"""获取所有已注册的核心提示词模板名称列表(即所有可注入的目标)。"""
|
||||
from src.chat.utils.prompt import global_prompt_manager
|
||||
return list(global_prompt_manager._prompts.keys())
|
||||
|
||||
def get_core_prompt_contents(self) -> dict[str, str]:
|
||||
"""获取所有核心提示词模板的原始内容。"""
|
||||
from src.chat.utils.prompt import global_prompt_manager
|
||||
return {name: prompt.template for name, prompt in global_prompt_manager._prompts.items()}
|
||||
|
||||
def get_registered_prompt_component_info(self) -> list[PromptInfo]:
|
||||
|
||||
Reference in New Issue
Block a user