from appPublic.log import info, debug, warning, error, exception, critical from appPublic.dictObject import DictObject from ahserver.serverenv import ServerEnv from aiohttp.web import StreamResponse async def generate(request, **kw): params_kw = kw.get(params_kw, DictObject()) model = params_kw.model engine = None g = ServerEnv() if model=='whisper': engine = g.whisper_engine await resp.prepare(request) line = await request.content.readline() content = '' while line: info(f'read from request stream {line=}') txt = await engine.stt(line) content += txt d = json.dumps({'content':content}) btxt = d.encode('utf8') await resp.write(btxt) await resp.drain() line = await request.content.readline() info('response finish') return resp