28 lines
944 B
Plaintext
28 lines
944 B
Plaintext
# agent_model_options.dspy - 返回 active 模型列表(供 AgentIO 模型选择下拉)
|
|
# llm 表是 pipeline 库的通用配置,产线无关
|
|
# org_id 多租户隔离:非系统级机构只看到「本机构 + 系统级(org_id='0')」的模型
|
|
|
|
dbname = get_module_dbname('pipeline_core')
|
|
org_id = (await get_userorgid()) or ''
|
|
|
|
async with DBPools().sqlorContext(dbname) as sor:
|
|
sql = "SELECT id, name, provider, model_id, capabilities FROM llm WHERE status='active'"
|
|
params = {}
|
|
if org_id and org_id != '0':
|
|
sql += " AND (org_id=${org}$ OR org_id='0')"
|
|
params['org'] = org_id
|
|
sql += " ORDER BY (org_id='0') ASC, name"
|
|
recs = await sor.sqlExe(sql, params)
|
|
|
|
rows = []
|
|
for r in recs:
|
|
rows.append({
|
|
'value': r.id,
|
|
'text': f"{r.name} ({r.provider})",
|
|
'provider': r.provider,
|
|
'model_id': r.model_id,
|
|
'capabilities': r.capabilities or 'text',
|
|
})
|
|
|
|
return rows
|