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)