This commit is contained in:
yumoqing 2026-03-30 16:21:38 +08:00
parent 72239535e2
commit 2aa3185f2e
3 changed files with 15 additions and 9 deletions

View File

@ -78,9 +78,6 @@ async def async_uapi_request(request, llm, sor,
b = b.decode('utf-8') b = b.decode('utf-8')
debug(f'task submited:{b}') debug(f'task submited:{b}')
d = DictObject(**json.loads(b)) d = DictObject(**json.loads(b))
if d.status == 'FAILED':
e = Exception(f'resp={d} FFAILED')
raise e
responsed_seconds = time.time() - start_timestamp responsed_seconds = time.time() - start_timestamp
finish_seconds = responsed_seconds finish_seconds = responsed_seconds
llmusage = DictObject() llmusage = DictObject()
@ -90,22 +87,28 @@ async def async_uapi_request(request, llm, sor,
llmusage.use_time = timestampstr() llmusage.use_time = timestampstr()
llmusage.userid = callerid llmusage.userid = callerid
llmusage.ioinfo = json.dumps({ llmusage.ioinfo = json.dumps({
"input": params_kw "input": params_kw,
'output': [d]
}) })
llmusage.taskid = d.taskid llmusage.taskid = d.taskid
llmusage.transno = params_kw.transno llmusage.transno = params_kw.transno
llmusage.responsed_seconds = responsed_seconds llmusage.responsed_seconds = responsed_seconds
llmusage.finish_seconds = finish_seconds llmusage.finish_seconds = finish_seconds
llmusage.status = 'CREATED' llmusage.status = d.status
llmusage.userorgid = callerorgid llmusage.userorgid = callerorgid
llmusage.ownerid = llm.orgid llmusage.ownerid = llm.orgid
llmusage.accounting_status = 'created'
b = json.dumps(d, ensure_ascii=False) b = json.dumps(d, ensure_ascii=False)
yield b yield b
await write_llmusage(llmusage) await write_llmusage(llmusage)
# if llm.callbackurl: # if llm.callbackurl:
# return # return
if d.status == 'FAILED':
e = Exception(f'resp={d} FFAILED')
raise e
asyncio.create_task(query_task_status(request, llm.upappid, asyncio.create_task(query_task_status(request, llm.upappid,
llm.query_apiname, luid, userid, d.taskid)) llm.query_apiname, luid, userid, d.taskid))
yield d
except Exception as e: except Exception as e:
exception(f'{e=},{format_exc()}') exception(f'{e=},{format_exc()}')

View File

@ -105,6 +105,7 @@ async def uapi_request(request, llm, sor, callerid, callerorgid, params_kw=None)
except Exception as e: except Exception as e:
e = Exception(f'{llm.pid} charging error{e}') e = Exception(f'{llm.pid} charging error{e}')
exception(f'{e}') exception(f'{e}')
llmusage.amount = llmusage.cost = 0
else: else:
llmusage.amount = 0 llmusage.amount = 0
llmusage.cost = 0 llmusage.cost = 0
@ -112,7 +113,8 @@ async def uapi_request(request, llm, sor, callerid, callerorgid, params_kw=None)
llmusage.ownerid = llm.orgid llmusage.ownerid = llm.orgid
llmusage.accounting_status = 'created' llmusage.accounting_status = 'created'
await write_llmusage(llmusage) await write_llmusage(llmusage)
await llm_accounting(request, llmusage) if llmusage.amount > 0.0001:
await llm_accounting(request, llmusage)
except Exception as e: except Exception as e:
exception(f'{e=},{format_exc()}') exception(f'{e=},{format_exc()}')

View File

@ -37,7 +37,7 @@ async def sync_uapi_request(request, llm, sor, callerid, callerorgid, params_kw=
b = b.decode('utf-8') b = b.decode('utf-8')
d = json.loads(b) d = json.loads(b)
status = d.get('status') status = d.get('status')
usage = d.get('usage', {}) usage = d.get('usage')
if status and status != 'SUCCEEDED': if status and status != 'SUCCEEDED':
raise Exception(d['error']) raise Exception(d['error'])
responsed_seconds = time.time() - start_timestamp responsed_seconds = time.time() - start_timestamp
@ -51,7 +51,7 @@ async def sync_uapi_request(request, llm, sor, callerid, callerorgid, params_kw=
llmusage.usage = json.dumps(usage) llmusage.usage = json.dumps(usage)
llmusage.ioinfo = json.dumps({ llmusage.ioinfo = json.dumps({
"input": params_kw, "input": params_kw,
"output": d "output": [d]
}) })
llmusage.transno = params_kw.transno llmusage.transno = params_kw.transno
llmusage.responsed_seconds = responsed_seconds llmusage.responsed_seconds = responsed_seconds
@ -77,7 +77,8 @@ async def sync_uapi_request(request, llm, sor, callerid, callerorgid, params_kw=
b = json.dumps(d, ensure_ascii=False) b = json.dumps(d, ensure_ascii=False)
yield b yield b
await write_llmusage(llmusage) await write_llmusage(llmusage)
await llm_accounting(request, llmusage) if llmusage.amount > 0.0001:
await llm_accounting(request, llmusage)
except Exception as e: except Exception as e:
exception(f'{e=},{format_exc()}') exception(f'{e=},{format_exc()}')
estr = erase_apikey(e) estr = erase_apikey(e)