This commit is contained in:
yumoqing 2025-11-06 14:33:51 +08:00
parent b77f0c5ad0
commit e4aa1b653c
2 changed files with 8 additions and 8 deletions

View File

@ -1,5 +1,4 @@
import asyncio import asyncio
import json
from appPublic.worker import get_event_loop from appPublic.worker import get_event_loop
from appPublic.log import debug from appPublic.log import debug
from fw.init import load_fastwhisper from fw.init import load_fastwhisper
@ -17,8 +16,6 @@ async def get_status(request, *args, **kw):
env = request._run_ns env = request._run_ns
debug(f'get_status():{env.params_kw.task_id=}') debug(f'get_status():{env.params_kw.task_id=}')
data = await env.fastwhisper.get_status(env.params_kw.task_id) data = await env.fastwhisper.get_status(env.params_kw.task_id)
if data['status'] == 'SUCCEEDED' and isinstance(data['result'], str):
data['result'] = json.loads(data['result'])
return data return data
async def asr(request, *args, **kw): async def asr(request, *args, **kw):
@ -30,10 +27,6 @@ async def asr(request, *args, **kw):
if data['status'] in ['SUCCEEDED', 'FAILED']: if data['status'] in ['SUCCEEDED', 'FAILED']:
break break
await asyncio.sleep(0.2) await asyncio.sleep(0.2)
if data['status'] == 'SUCCEEDED':
s = data.get('result')
if s:
data['result'] = json.loads(s)
return data return data
async def start_fw_server(*args, **kw): async def start_fw_server(*args, **kw):

View File

@ -42,9 +42,16 @@ class MyLongTask(LongTasks):
def transcribe(self, model, fpath): def transcribe(self, model, fpath):
segments, info = model.transcribe(fpath, beam_size=5) segments, info = model.transcribe(fpath, beam_size=5)
debug(f'{segments=}, {info=}') debug(f'{segments=}, {info=}')
segments = list(segments)
return { return {
'language': info.language, 'language': info.language,
'language_probability': info.language_probability, 'language_probability': info.language_probability,
'segments': [[segment.start, segment.end, segment.text] for segment in segments] 'content': ' '.join([s.text for s in segments]),
'segments': [[segment.start,
segment.end,
segment.text,
[[word.start, word.end, word.word] for word in segment.words ]
] for segment in segments]
} }