add generic_agent

This commit is contained in:
朱潮 2025-11-16 19:46:27 +08:00
parent ed3c28174a
commit bd93ae663d
7 changed files with 12 additions and 12 deletions

View File

@ -1091,7 +1091,7 @@ async def create_agent_and_generate_response(
raise HTTPException(status_code=500, detail="No response from agent")
def create_project_directory(dataset_ids: Optional[List[str]], bot_id: str, robot_type: str = "agent") -> Optional[str]:
def create_project_directory(dataset_ids: Optional[List[str]], bot_id: str, robot_type: str = "generic_agent") -> Optional[str]:
"""创建项目目录的公共逻辑"""
# 只有当 robot_type == "catalog_agent" 且 dataset_ids 不为空时才创建目录
if robot_type != "catalog_agent" or not dataset_ids or len(dataset_ids) == 0:
@ -1186,7 +1186,7 @@ async def chat_completions_v2(request: ChatRequestV2, authorization: Optional[st
project_dir = create_project_directory(
bot_config.get("dataset_ids", []),
bot_id,
bot_config.get("robot_type", "agent")
bot_config.get("robot_type", "generic_agent")
)
# 处理消息
@ -1204,7 +1204,7 @@ async def chat_completions_v2(request: ChatRequestV2, authorization: Optional[st
language=request.language or bot_config.get("language", "ja"),
system_prompt=bot_config.get("system_prompt"),
mcp_settings=bot_config.get("mcp_settings", []),
robot_type=bot_config.get("robot_type", "agent"),
robot_type=bot_config.get("robot_type", "generic_agent"),
project_dir=project_dir,
generate_cfg={}, # v2接口不传递额外的generate_cfg
user_identifier=request.user_identifier

View File

@ -50,7 +50,7 @@ class ChatRequest(BaseModel):
tool_response: Optional[bool] = False
system_prompt: Optional[str] = None
mcp_settings: Optional[List[Dict]] = None
robot_type: Optional[str] = "agent"
robot_type: Optional[str] = "generic_agent"
user_identifier: Optional[str] = ""

View File

@ -112,7 +112,7 @@ class FileLoadedAgentManager:
language: Optional[str] = None,
system_prompt: Optional[str] = None,
mcp_settings: Optional[List[Dict]] = None,
robot_type: Optional[str] = "agent",
robot_type: Optional[str] = "generic_agent",
user_identifier: Optional[str] = None) -> Assistant:
"""获取或创建文件预加载的助手实例

View File

@ -36,7 +36,7 @@ def safe_replace(text: str, placeholder: str, value: Any) -> str:
return text.replace(placeholder, replacement)
async def load_system_prompt_async(project_dir: str, language: str = None, system_prompt: str=None, robot_type: str = "agent", bot_id: str="", user_identifier: str = "") -> str:
async def load_system_prompt_async(project_dir: str, language: str = None, system_prompt: str=None, robot_type: str = "generic_agent", bot_id: str="", user_identifier: str = "") -> str:
"""异步版本的系统prompt加载
Args:
@ -68,7 +68,7 @@ async def load_system_prompt_async(project_dir: str, language: str = None, syste
prompt = safe_replace(prompt, '{bot_id}', bot_id)
prompt = safe_replace(prompt, '{user_identifier}', user_identifier)
return prompt or ""
elif robot_type == "agent" or robot_type == "catalog_agent":
elif robot_type == "generic_agent" or robot_type == "catalog_agent":
"""
优先使用项目目录的README.md没有才使用默认的system_prompt_{robot_type}.md
"""
@ -106,7 +106,7 @@ async def load_system_prompt_async(project_dir: str, language: str = None, syste
return prompt or ""
def load_system_prompt(project_dir: str, language: str = None, system_prompt: str=None, robot_type: str = "agent", bot_id: str="", user_identifier: str = "") -> str:
def load_system_prompt(project_dir: str, language: str = None, system_prompt: str=None, robot_type: str = "generic_agent", bot_id: str="", user_identifier: str = "") -> str:
"""同步版本的系统prompt加载内部调用异步版本以保持向后兼容"""
try:
loop = asyncio.get_event_loop()
@ -154,7 +154,7 @@ def replace_mcp_placeholders(mcp_settings: List[Dict], dataset_dir: str, bot_id:
return replace_placeholders_in_obj(mcp_settings)
async def load_mcp_settings_async(project_dir: str, mcp_settings: list=None, bot_id: str="", robot_type: str = "agent") -> List[Dict]:
async def load_mcp_settings_async(project_dir: str, mcp_settings: list=None, bot_id: str="", robot_type: str = "generic_agent") -> List[Dict]:
"""异步版本的MCP设置加载
Args:
@ -244,7 +244,7 @@ async def load_mcp_settings_async(project_dir: str, mcp_settings: list=None, bot
return merged_settings
def load_mcp_settings(project_dir: str, mcp_settings: list=None, bot_id: str="", robot_type: str = "agent") -> List[Dict]:
def load_mcp_settings(project_dir: str, mcp_settings: list=None, bot_id: str="", robot_type: str = "generic_agent") -> List[Dict]:
"""同步版本的MCP设置加载内部调用异步版本以保持向后兼容"""
try:
loop = asyncio.get_event_loop()

View File

@ -128,7 +128,7 @@ class ShardedAgentManager:
language: Optional[str] = None,
system_prompt: Optional[str] = None,
mcp_settings: Optional[List[Dict]] = None,
robot_type: Optional[str] = "agent",
robot_type: Optional[str] = "generic_agent",
user_identifier: Optional[str] = None) -> Assistant:
"""获取或创建文件预加载的助手实例"""