bugfix
This commit is contained in:
parent
3659c75097
commit
b5da4b902d
@ -169,13 +169,8 @@ where a.llmid = b.id
|
||||
# debug(f'{sql=}, {ns=}, {len(recs)=}')
|
||||
for r in recs:
|
||||
if r.usages is None:
|
||||
io = json.loads(r.ioinfo)
|
||||
if len(io['output']) == 0:
|
||||
llmusage.accounting_status = 'failed'
|
||||
await sor.U('llmusage', {'id': llmusage.id, 'accounting_status': 'failed'})
|
||||
debug(f'{len(io["output"])} is 0')
|
||||
continue
|
||||
r.usages = json.dumps(io['output'][-1].get('usage'))
|
||||
output = await get_lastoutput(r.ioinfo)
|
||||
r.usages = output.get('usage')
|
||||
if r.usages is None:
|
||||
llmusage.accounting_status = 'failed'
|
||||
await sor.U('llmusage', {'id': llmusage.id, 'accounting_status': 'failed'})
|
||||
|
||||
@ -35,11 +35,8 @@ async def get_asynctask_status(taskid):
|
||||
recs = await sor.R('llmusage', {'taskid': taskid})
|
||||
if recs:
|
||||
r = recs[0]
|
||||
io = json.loads(r.ioinfo)
|
||||
d = io.get('output', {})
|
||||
if isinstance(d, list):
|
||||
return d[-1]
|
||||
return d
|
||||
output = await get_lastoutput(r.ioinfo)
|
||||
return output
|
||||
return {
|
||||
'taskid': taskid,
|
||||
'status': 'FAILED',
|
||||
@ -129,14 +126,6 @@ async def modify_llmusage_status(llmusage):
|
||||
'status': llmusage.status
|
||||
})
|
||||
|
||||
def get_llmusage_last_output(r):
|
||||
io = json.loads(r.ioinfo)
|
||||
outs = io.get('output', [])
|
||||
if len(outs) == 0:
|
||||
return None
|
||||
d = DictObject(**outs[-1])
|
||||
return d
|
||||
|
||||
async def get_llm_llmusage(luid):
|
||||
env = request._run_ns
|
||||
async with get_sor_context(env, 'llmage') as sor:
|
||||
@ -165,7 +154,7 @@ async def query_task_status(request, upappid, apiname, luid, userid, taskid):
|
||||
|
||||
for apiname in apinames:
|
||||
while True
|
||||
lastoutout = get_llmusage_last_output(llmusage)
|
||||
lastoutout = await get_lastoutput(llmusage.ioinfo)
|
||||
if lastoutout['status'] in ['FAILED', 'SUCCEEDED']
|
||||
return
|
||||
ns = {'taskid': taskid}
|
||||
|
||||
@ -84,10 +84,13 @@ async def uapi_request(request, llm, callerid, callerorgid, params_kw=None):
|
||||
llmusage.use_time = timestampstr()
|
||||
llmusage.userid = callerid
|
||||
llmusage.usages = json.dumps(usage, ensure_ascii=False)
|
||||
llmusage.ioinfo = json.dumps({
|
||||
ioinfo = json.dumps({
|
||||
"input": params_kw,
|
||||
"output": outlines
|
||||
'output': [d]
|
||||
}, ensure_ascii=False)
|
||||
webpath = await write_llmio(llmusage.id, ioinfo)
|
||||
llmusage.ioinfo = webpath
|
||||
debug(f'webpath={webpath}:')
|
||||
llmusage.transno = params_kw.transno
|
||||
llmusage.responsed_seconds = responsed_seconds
|
||||
llmusage.finish_seconds = finish_seconds
|
||||
|
||||
@ -50,10 +50,12 @@ async def sync_uapi_request(request, llm, callerid, callerorgid, params_kw=None)
|
||||
llmusage.use_time = timestampstr()
|
||||
llmusage.userid = callerid
|
||||
llmusage.usages = json.dumps(usage, ensure_ascii=False)
|
||||
llmusage.ioinfo = json.dumps({
|
||||
ioinfo = json.dumps({
|
||||
"input": params_kw,
|
||||
"output": [d]
|
||||
'output': [d]
|
||||
}, ensure_ascii=False)
|
||||
webpath = await write_llmio(llmusage.id, ioinfo)
|
||||
llmusage.ioinfo = webpath
|
||||
llmusage.transno = params_kw.transno
|
||||
llmusage.responsed_seconds = responsed_seconds
|
||||
llmusage.finish_seconds = finish_seconds
|
||||
|
||||
@ -25,6 +25,11 @@ async def append_new_llmoutput(webpath, output):
|
||||
iostr = json.dumps(io, ensure_ascii=False, indent=4)
|
||||
f.write(iostr.encode('utf-8'))
|
||||
|
||||
async def get_usage_from_lastoutput(webpath):
|
||||
bin = await read_webpath(webpath)
|
||||
io = json.load(bin.decode('utf-8'))
|
||||
return io['output'][-1]
|
||||
|
||||
async def read_webpath(webpath):
|
||||
fs = FileStorage()
|
||||
p = fs.realPath(webpath)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user