feat: add get_llmcatelogid function and pass llmcatelogid to list_paging_catelog_llms.dspy

This commit is contained in:
yumoqing 2026-06-11 19:02:50 +08:00
parent 767539fabd
commit 982517a1c8
3 changed files with 16 additions and 1 deletions

View File

@ -19,6 +19,7 @@ from .utils import (
get_llmproviders,
get_llm,
get_llmage_llm,
get_llmcatelogid,
invalidate_uapi_cache,
)
@ -65,6 +66,7 @@ def load_llmage():
env.query_task_status = query_task_status
env.get_llm = get_llm
env.get_llmage_llm = get_llmage_llm
env.get_llmcatelogid = get_llmcatelogid
env.invalidate_uapi_cache = invalidate_uapi_cache
env.inference = inference
env.get_user_tpac = get_user_tpac

View File

@ -361,6 +361,18 @@ async def get_llms_by_catelog(catelogid=None, orderby='providerid'):
return d
return []
async def get_llmcatelogid(llmid):
"""Get the first llmcatelogid for a given llmid from llm_api_map"""
if not llmid:
return None
llmage_dbname = get_serverenv('get_module_dbname')('llmage')
async with DBPools().sqlorContext(llmage_dbname) as sor:
recs = await sor.sqlExe("select llmcatelogid from llm_api_map where llmid=${llmid}$ limit 1", {'llmid': llmid})
if recs:
return recs[0].llmcatelogid
return None
async def get_llm(llmid, catelogid=None):
"""Get LLM with full uapi info for vendor API calls.
Refactored to use get_llmage_llm() + cached uapi/uapiio lookups

View File

@ -6,6 +6,7 @@
{% set llm = get_llm(params_kw.id) %}
{% set oops=debug(json.dumps(llm, ensure_ascii=Fasle)) %}
{% set kdbs = get_user_kdbs(request) %}
{% set llmcatelogid = get_llmcatelogid(params_kw.id) %}
{% if llm %}
{
"widgettype":"LlmIO",
@ -18,7 +19,7 @@
"kdb_setting":{},
"get_kdb_url": "{{entire_url('/rag/get_my_kdbs.dspy')}}",
{% endif %}
"list_models_url":"{{entire_url('list_paging_catelog_llms.dspy')}}",
"list_models_url":"{{entire_url('list_paging_catelog_llms.dspy')}}{% if llmcatelogid %}?llmcatelogid={{llmcatelogid}}{% endif %}",
"estimate_url":"{{entire_url('model_estimate.dspy')}}",
"input_fields":{{llm.input_fields}},
"models":[