bugfix
This commit is contained in:
parent
e8592d2d88
commit
668ab8f585
@ -3,12 +3,13 @@
|
|||||||
"title":"大语言模型",
|
"title":"大语言模型",
|
||||||
"params": {
|
"params": {
|
||||||
"sortby":"name",
|
"sortby":"name",
|
||||||
|
"logined_userorgid": "ownerid",
|
||||||
"browserfields": {
|
"browserfields": {
|
||||||
"exclouded": ["id"],
|
"exclouded": ["id", "ownerid"],
|
||||||
"alters": {}
|
"alters": {}
|
||||||
},
|
},
|
||||||
"editexclouded": [
|
"editexclouded": [
|
||||||
"id"
|
"id", "ownerid"
|
||||||
],
|
],
|
||||||
"subtables":[
|
"subtables":[
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
from random import randint
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from traceback import format_exc
|
from traceback import format_exc
|
||||||
from sqlor.dbpools import DBPools
|
from sqlor.dbpools import DBPools
|
||||||
@ -57,13 +58,28 @@ where x.id = ${llmid}$
|
|||||||
r.inputfields = api.input_fields
|
r.inputfields = api.input_fields
|
||||||
return recs[0]
|
return recs[0]
|
||||||
return None
|
return None
|
||||||
|
async def get_owner_userid(sor, llm):
|
||||||
|
sql = '''select a.ownerid as userid from upappkey a, upapp b
|
||||||
|
where a.upappid=b.id
|
||||||
|
and a.orgid = b.ownerid
|
||||||
|
and a.orgid = ${ownerid}$'''
|
||||||
|
recs = await sor.sqlExe(sql, {'ownerid': llm.ownerid})
|
||||||
|
i = randint(0, len(recs)-1)
|
||||||
|
return recs[i].userid
|
||||||
|
|
||||||
async def inference(request, env):
|
async def uapi_request(request, sor, caller_orgid, uapi, llm, params):
|
||||||
|
userid = await get_owner_userid(sor, llm)
|
||||||
|
async for l in uapi.stream_linify(llm.upappid, llm.apiname, userid, params=params):
|
||||||
|
yield l
|
||||||
|
|
||||||
|
|
||||||
|
async def inference(request, *args, **kw):
|
||||||
|
env = request._run_ns
|
||||||
|
caller_orgid = await get_userorgid()
|
||||||
params = env.params_kw
|
params = env.params_kw
|
||||||
llmid = params.llmid
|
llmid = params.llmid
|
||||||
prompt = params.prompt
|
prompt = params.prompt
|
||||||
stream = params.stream or True
|
stream = params.stream or True
|
||||||
env.update(env.params_kw)
|
|
||||||
dbname = env.get_module_dbname('llmage')
|
dbname = env.get_module_dbname('llmage')
|
||||||
db = env.DBPools()
|
db = env.DBPools()
|
||||||
async with db.sqlorContext(dbname) as sor:
|
async with db.sqlorContext(dbname) as sor:
|
||||||
@ -71,5 +87,5 @@ async def inference(request, env):
|
|||||||
env.update(llm)
|
env.update(llm)
|
||||||
uapi = UAPI(request, sor=sor)
|
uapi = UAPI(request, sor=sor)
|
||||||
userid = await env.get_user()
|
userid = await env.get_user()
|
||||||
f = partial(uapi.stream_linify, llm.upappid, llm.apiname, userid)
|
f = partial(uapi_request, request, sor, caller_orgid, llm, params=params)
|
||||||
return await env.stream_response(request, f)
|
return await env.stream_response(request, f)
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
debug(f'{params_kw=}')
|
debug(f'{params_kw=}')
|
||||||
|
userid = await get_user()
|
||||||
|
if userid is None:
|
||||||
|
return UiError(title='llm inference', message='Please login first')
|
||||||
env = DictObject(**globals())
|
env = DictObject(**globals())
|
||||||
return await inference(request, env=env)
|
return await inference(request, env=env)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user