llmage/wwwroot/t2t/index.dspy
yumoqing 6cc3986a2d feat: support multi-catalog for LLMs
- Create llm_catalog_rel model for one-to-many relationship
- Remove llmcatelogid from llm model
- Update SQL queries in utils.py and dspy files to use join
- Add maintenance UI (llm_catalog_rel_manage.ui) and API endpoints
- Filter options by user's orgid
2026-05-16 21:31:19 +08:00

40 lines
1006 B
Plaintext

debug(f'{params_kw=}')
lctype='文生文'
if params_kw.off_peak:
off_peak = params_kw.off_peak
if off_peak in [True, "Y" "y", 1, "1"]:
off_peak = True
else:
off_peak = False
params_kw.off_peak = off_peak
userid = await get_user()
userorgid = await get_userorgid()
if userid is None:
return openai_403()
if not params_kw.prompt:
d = return_error('Missing need data(prompt)')
return json_response(d, status=400)
env = request._run_ns
async with get_sor_context(env, 'llmage') as sor:
sql = """select a.* from llm a
join llm_catalog_rel rel on a.id = rel.llmid
join llmcatelog b on rel.llmcatelogid = b.id
where b.name = ${lctype}$
and a.model=${model}$"""
recs = await sor.sqlExe(sql, {
'lctype': lctype,
'model': params_kw.model or 'qwen3-max'
})
if len(recs) == 0:
return openai_400()
params_kw.llmid = recs[0].id
f = await checkCustomerBalance(params_kw.llmid, userorgid)
if not f:
return openai_429()
env = DictObject(**globals())
return await inference(request, env=env)