From 982517a1c8c7ee9a3b51c5fb8eba733fd2d3ba43 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 11 Jun 2026 19:02:50 +0800 Subject: [PATCH] feat: add get_llmcatelogid function and pass llmcatelogid to list_paging_catelog_llms.dspy --- llmage/init.py | 2 ++ llmage/utils.py | 12 ++++++++++++ wwwroot/llm_dialog.ui | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/llmage/init.py b/llmage/init.py index c656c9a..b7bd79f 100644 --- a/llmage/init.py +++ b/llmage/init.py @@ -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 diff --git a/llmage/utils.py b/llmage/utils.py index 7d49ef0..57ee688 100644 --- a/llmage/utils.py +++ b/llmage/utils.py @@ -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 diff --git a/wwwroot/llm_dialog.ui b/wwwroot/llm_dialog.ui index bff5f9d..1a89082 100644 --- a/wwwroot/llm_dialog.ui +++ b/wwwroot/llm_dialog.ui @@ -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":[