2026-03-06 11:46:13 +08:00

54 lines
1.7 KiB
Python

from appPublic.log import debug, exception
from ahserver.serverenv import ServerEnv
from sqlor.dbpools import get_sor_context
from .skillengine import IndustrialSkillEngine
from llmage.llmclient import inference_generator
## for video-generate skill
async def get_llmid_by_llmcatelog(type, providerid):
env = ServerEnv()
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 pingpang(request, params_kw=None):
return f'乒乓应答:{params_kw}'
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 llmid is None:
debug(f'---------text2video(): llmid is None----------')
return f'image2video():{params_kw}, llmid not found'
params_kw.llmid = llmid
ret = ''
async for d in inference_generator(request, params_kw=params_kw):
ret += d
debug(f'---------text2video():{ret=}----------')
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 llmid is None:
return f'image2video():{params_kw}, llmid not found'
ret = ''
params_kw.llmid = llmid
async for d in inference_generator(request, params_kw=params_kw):
ret += d
return ret