This commit is contained in:
yumoqing 2026-01-06 13:31:50 +08:00
parent 4fece5b72e
commit 9b5e6395ad
4 changed files with 42 additions and 6 deletions

View File

@ -8,6 +8,7 @@ from llmage.llmclient import (
get_llm,
inference,
get_llmproviders,
get_llms_sort_by_provider,
get_llmcatelogs,
get_llms_by_provider,
get_llms_by_catelog
@ -26,6 +27,7 @@ def load_llmage():
env.checkCustomerBalance = checkCustomerBalance
env.get_llmproviders = get_llmproviders
env.get_llms_by_provider = get_llms_by_provider
env.get_llms_sort_by_provider = get_llms_sort_by_provider
env.keling_token = keling_token
rf = RegisterFunction()

View File

@ -37,6 +37,34 @@ group by a.providerid, a.iconid, b.orgname"""
return await sor.sqlExe(sql, {})
return []
async def get_llms_sort_by_provider():
env = ServerEnv()
async with get_sor_context(env, 'llmage') as sor:
today = curDateString()
sql = """select a.*, b.orgname from llm, organization b
where a.enabled_date <= ${today}$
and a.expired_date > ${today}$
and a.providerid = b.id
order by a.providerid, a.id
"""
recs = await sor.sqlExe(sql, {'today': today})
d = []
x = None
oldpid = '-111'
for l in recs:
if l.providerid != oldpid:
x = {
'id': l.providerid,
'orgname': l.orgname,
'llms': [l]
}
d.append(x)
oldpid = l.providerid
else:
x['llms'].append(l)
return d
return []
async def get_llms_by_provider(pid):
env = ServerEnv()
async with get_sor_context(env, 'llmage') as sor:

View File

@ -1,4 +1,6 @@
{% if get_user() %}
{% set userorgid = get_userorgid %}
{% if checkCustomerBalance(params_kw.id, userorgid) %}
{% set llm = get_llm(params_kw.id) %}
{% set kdbs = get_user_kdbs(request) %}
{% if llm %}
@ -39,6 +41,14 @@
}
{% endif %}
{% else %}
{
"widgettype":"Text",
"options":{
"otext":"Not enrogh balance to use llm",
"i18n":true
}
}
{% else %}
{
"widgettype":"Text",
"options":{

View File

@ -6,7 +6,7 @@
"height":"100%"
},
"subwidgets":[
{% for p in get_llmproviders() %}
{% for p in get_llms_sort_by_provider() %}
{
"widgettype": "VBox",
"options":{
@ -28,15 +28,11 @@
"width":"100%"
},
"subwidgets":[
{% for llm in get_llms_by_provider(p.providerid) %}
{% set can_use = checkCustomerBalance(llm.id, userorgid) %}
{% for llm in p.llms %}
{
"widgettype":"VScrollPanel",
"options":{
"css":"card",
{% if not can_use %}
"disabled":true,
{% endif %}
"bgcolor": "#def0f0",
"cwidth":20,
"cheight":12