From 8264257ab6ce334b6e8e8c9f58a6b968b131788a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Fri, 6 Mar 2026 12:47:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=A8=20from=5Fv2=5Frequest=20?= =?UTF-8?q?=E7=9A=84=20model=5Fname=20=E5=92=8C=20model=5Fserver=20?= =?UTF-8?q?=E4=BC=98=E5=85=88=E7=BA=A7=E9=80=BB=E8=BE=91=E4=B8=BA=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 最高优先级:generate_cfg 中的 model / model_server(需不为空且不等于 whatever) 2. 回退:bot_config 中的值(原有逻辑) --- agent/agent_config.py | 10 ++++++++-- routes/chat.py | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/agent/agent_config.py b/agent/agent_config.py index 8b34ccb..c51202e 100644 --- a/agent/agent_config.py +++ b/agent/agent_config.py @@ -175,11 +175,17 @@ class AgentConfig: enable_thinking = bot_config.get("enable_thinking", False) enable_memori = bot_config.get("enable_memory", False) + # generate_cfg 中的 model/model_server 为最高优先级(排除 "whatever" 和空值) + _gen_model = (generate_cfg or {}).get("model") or "" + _gen_model_server = (generate_cfg or {}).get("model_server") or "" + model_name = _gen_model if _gen_model and _gen_model != "whatever" else bot_config.get("model", "qwen/qwen3-next-80b-a3b-instruct") + model_server = _gen_model_server if _gen_model_server and _gen_model_server != "whatever" else bot_config.get("model_server", "") + config = cls( bot_id=request.bot_id, api_key=bot_config.get("api_key"), - model_name=bot_config.get("model", "qwen/qwen3-next-80b-a3b-instruct"), - model_server=bot_config.get("model_server", ""), + model_name=model_name, + model_server=model_server, language=language, system_prompt=system_prompt, mcp_settings=bot_config.get("mcp_settings", []), diff --git a/routes/chat.py b/routes/chat.py index ef1a8ed..869b9eb 100644 --- a/routes/chat.py +++ b/routes/chat.py @@ -727,7 +727,7 @@ async def chat_completions_v2(request: ChatRequestV2, authorization: Optional[st # 处理消息 messages = process_messages(request.messages, request.language) # 收集额外参数作为 generate_cfg - exclude_fields = {'messages', 'model', 'model_server', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings', 'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n'} + exclude_fields = {'messages', 'dataset_ids', 'language', 'tool_response', 'system_prompt', 'mcp_settings', 'stream', 'robot_type', 'bot_id', 'user_identifier', 'session_id', 'enable_thinking', 'skills', 'enable_memory', 'n'} generate_cfg = {k: v for k, v in request.model_dump().items() if k not in exclude_fields} # 创建 AgentConfig 对象 config = await AgentConfig.from_v2_request(request, bot_config, project_dir, messages, generate_cfg)