This commit is contained in:
yumoqing 2026-03-04 18:02:35 +08:00
parent 3c09e9f195
commit 4544099343
2 changed files with 52 additions and 0 deletions

45
skillagent/call.py Normal file
View File

@ -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

View File

@ -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