现在 from_v2_request 的 model_name 和 model_server 优先级逻辑为:

1. 最高优先级:generate_cfg 中的 model / model_server(需不为空且不等于 whatever)
  2. 回退:bot_config 中的值(原有逻辑)
This commit is contained in:
朱潮 2026-03-06 12:47:33 +08:00
parent 49151916c6
commit 8264257ab6
2 changed files with 9 additions and 3 deletions

View File

@ -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", []),

View File

@ -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)