This commit is contained in:
yumoqing 2026-04-08 15:03:29 +08:00
parent a226b3a27b
commit ba3f5d0af8
4 changed files with 14 additions and 1 deletions

View File

@ -151,7 +151,7 @@ async def llm_accounting(llmusage):
async def get_accounting_llmusages(luid=None):
env = ServerEnv()
lus = []
t = time.time() - 20
t = time.time()
dt = datetime.fromtimestamp(t)
tsstr = dt.strftime('%Y-%m-%d %H:%M:%S.') + f'{dt.microsecond // 1000:03d}'
async with get_sor_context(env, 'llmage') as sor:

View File

@ -201,6 +201,7 @@ async def query_task_status(request, upappid, apiname, luid, userid, taskid):
return
if changed.status == 'SUCCEEDED':
llmusage.usages = changed.output.usage
"""联机不记账
if llm.ppid:
try:
charging = await llm_charging(sor,
@ -215,21 +216,25 @@ async def query_task_status(request, upappid, apiname, luid, userid, taskid):
e1 = Exception(f'{llm.ppid} charging error{e}, {llm.ppid}, {llmusage=}')
exception(f'{e}')
changed.amount = changed.cost = 0
else:
changed.amount = 0
changed.cost = 0
llmusage.amount = changed.amount
llmusage.cost = changed.cost
"""
await add_new_llmusage_output(luid, changed)
if changed.status == 'FAILED':
return
if changed.status == 'SUCCEEDED':
"""联机不记账
if llmusage.accounting_status != 'accounted' \
and changed.amount > 0.00001:
try:
await llm_accounting(llmusage)
except Exception as e:
debug(f'{changed=} accounting failed,{e=} ')
"""
return
await asyncio.sleep(llm.query_period or 30)

View File

@ -92,6 +92,7 @@ async def uapi_request(request, llm, callerid, callerorgid, params_kw=None):
llmusage.responsed_seconds = responsed_seconds
llmusage.finish_seconds = finish_seconds
llmusage.status = 'SUCCEEDED'
""" 联机不记账
if llm.ppid and callerorgid:
try:
chargings = await llm_charging(llm.ppid, llmusage)
@ -107,12 +108,15 @@ async def uapi_request(request, llm, callerid, callerorgid, params_kw=None):
else:
llmusage.amount = 0
llmusage.cost = 0
"""
llmusage.userorgid = callerorgid
llmusage.ownerid = llm.orgid
llmusage.accounting_status = 'created'
await write_llmusage(llmusage)
"""
if llmusage.amount > 0.0001:
await llm_accounting(llmusage)
"""
except Exception as e:
exception(f'{e=},{format_exc()}')

View File

@ -59,6 +59,7 @@ async def sync_uapi_request(request, llm, callerid, callerorgid, params_kw=None)
llmusage.finish_seconds = finish_seconds
llmusage.status = 'SUCCEEDED'
llmusage.amount = llmusage.cost = 0.00
""" 联机不记账
if llm.ppid:
try:
charging = await llm_charging(llm.ppid, llmusage)
@ -73,14 +74,17 @@ async def sync_uapi_request(request, llm, callerid, callerorgid, params_kw=None)
else:
llmusage.amount = 0
llmusage.cost = 0
"""
llmusage.userorgid = callerorgid
llmusage.ownerid = llm.orgid
llmusage.accounting_status = 'created'
b = json.dumps(d, ensure_ascii=False)
yield b
await write_llmusage(llmusage)
"""联机不记账
if llmusage.amount > 0.0001:
await llm_accounting(llmusage)
"""
except Exception as e:
exception(f'{e=},{format_exc()}')
estr = erase_apikey(e)