llmage/wwwroot/llminference.dspy
yumoqing 3b25b9cfb4 fix: llminference.dspy 增加余额/定价校验拦截
checkCustomerBalance 返回值 f 之前被丢弃,导致即使余额不足或
模型未配置定价,直接调 API 仍可执行推理。

添加 if not f 判断,返回 UiError 拦截。
2026-06-12 16:02:33 +08:00

34 lines
1.0 KiB
Plaintext

debug_params('params_kw', params_kw)
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 UiError(title='llm inference', message='Please login first')
f = await checkCustomerBalance(params_kw.llmid, userid, userorgid)
if not f:
return UiError(title='llm inference', message='余额不足或模型未配置定价')
kdbids = params_kw.kdbids
if kdbids:
data = {
'prompt': params_kw.prompt
}
params = {
'query': params_kw.prompt,
'fiids': params_kw.kdbids,
'limit': params_kw.recall_cnt
}
tmpl = params_kw.prompt_tmpl
ret = await rfexe('fusedsearch', request, params)
data.update(ret)
params_kw.prompt = await tmpl_engine.renders(tmpl, data)
debug_params('rag', {'query': params.get('query',''), 'prompt_len': len(str(params_kw.prompt))})
env = DictObject(**globals())
return await inference(request, env=env)