diff --git a/skillagent/call.py b/skillagent/call.py new file mode 100644 index 0000000..b5c7bc9 --- /dev/null +++ b/skillagent/call.py @@ -0,0 +1,45 @@ +from ahserver.serverenv import ServerEnv +from sqlor.dbpools import get_sor_context +from skillengine import IndustrialSkillEngine + +## for video-generate skill + +async def get_llmid_by_llmcatelog(type, providerid): + sql = """select a.id, a.enabled_date from llm a, llmcatelog b +where a.llmcatelogid = b.id + and b.name = ${type}$ + and a.providerid = ${providerid}$ +order by a.enabled_date desc""" + async with get_sor_context(env, 'skillagent') as sor: + recs = await sor.sqlExe(sql, {'type': type, 'providerid': providerid}) + if recs: + return recs[0].id + return None + +async def text2video(request, params_kw=None): + providerid = params_kw.providerid + add_files = params_kw.add_files + prompt = params_kw.prompt + llmid = await get_llmid_by_llmcatelog('文生视频', providerid) + if llm is None: + return f'image2video():{params_kw}, llmid not found' + engine = IndustrialSkillEngine(request, llmid) + ret = '' + async for d in engine.inference(params_kw): + ret += d + return ret + +async def image2video(request, params_kw=None): + providerid = params_kw.providerid + add_files = params_kw.add_files + prompt = params_kw.prompt + llmid = await get_llmid_by_llmcatelog('图生视频', providerid) + if llm is None: + return f'image2video():{params_kw}, llmid not found' + + engine = IndustrialSkillEngine(request, llmid) + ret = '' + async for d in engine.inference(params_kw): + ret += d + return ret + diff --git a/skillagent/init.py b/skillagent/init.py index cb80875..15e4cac 100644 --- a/skillagent/init.py +++ b/skillagent/init.py @@ -1,8 +1,15 @@ from ahserver.serverenv import ServerEnv # from .agent import skillagent from .skillengine import IndustrialSkillEngine +from .call import ( + text2video, + image2video +) def load_skillagent(): env = ServerEnv() env.IndustrialSkillEngine = IndustrialSkillEngine # env.skillagent = skillagent + env.image2video = image2videp + env.text2video = text2video +