fix(model-select): 下拉值改llm.id显示llm.name+start_agent解析id→name
This commit is contained in:
parent
077de71d78
commit
496a0ca4c8
@ -25,6 +25,16 @@ if action == 'start_agent':
|
||||
model_id = (params_kw or {}).get('model_id', '')
|
||||
role = (params_kw or {}).get('role', 'develop')
|
||||
|
||||
# model_id 兼容 llm.id 与 llm.model_id 两种取值(下拉改为传 llm.id)→
|
||||
# 统一解析为 llm.name 落库/传给引擎,保证同名不同供应商不漂移。
|
||||
if model_id:
|
||||
_r = await sor.sqlExe(
|
||||
"SELECT name FROM llm WHERE status='active' AND (id=${m}$ OR model_id=${m}$) LIMIT 1",
|
||||
{"m": model_id})
|
||||
await sor.sqlExe("COMMIT", {})
|
||||
if _r:
|
||||
model_id = getattr(_r[0], 'name', '') or model_id
|
||||
|
||||
# Ensure agent config exists
|
||||
existing = await sor.sqlExe(
|
||||
"SELECT id FROM pipeline_project_agents WHERE project_id=${pid}$ AND role_name=${role}$",
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
# cockpit_model_options.dspy - Returns active models with capabilities for dropdown
|
||||
# Used by cockpit model selector
|
||||
# 下拉值 = llm.id(唯一主键);显示 = llm.name。不同供应商可有相同 model_id
|
||||
# (API 模型名),只有 llm.id 唯一,避免同名供应商在下拉里被合并/解析漂移。
|
||||
# org_id 多租户隔离:非系统级机构只看到本机构的模型(不含系统级兜底)
|
||||
# selected 标记 = 当前项目的已设模型(sd_projects.default_model,产线通用、跨会话持久);
|
||||
# 项目未设模型时回退个人全局选择(default_llm_id)。前端 UiCode 按 selected 恢复选中项,
|
||||
@ -48,7 +50,8 @@ for r in recs:
|
||||
'value': r.id,
|
||||
'text': f"{r.name} ({r.provider})",
|
||||
'provider': r.provider,
|
||||
'model_id': r.model_id,
|
||||
'model_id': r.id, # 下拉值:llm.id(唯一,区分同名不同供应商)
|
||||
'model_id_text': r.name, # 下拉显示:llm.name
|
||||
'capabilities': r.capabilities or 'text',
|
||||
'selected': (r.name == project_model) if project_model else (r.id == current_llm_id),
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user