bugfix
This commit is contained in:
parent
80d9bde804
commit
c073da5c5a
@ -3,6 +3,9 @@ from llmage.llmclient import (
|
|||||||
inference,
|
inference,
|
||||||
get_llmcatelogs,
|
get_llmcatelogs,
|
||||||
get_llms_by_catelog,
|
get_llms_by_catelog,
|
||||||
|
)
|
||||||
|
from llmage.messages import (
|
||||||
|
SessionMessages,
|
||||||
default_sysmessage,
|
default_sysmessage,
|
||||||
default_usrmessage,
|
default_usrmessage,
|
||||||
default_llmmessage
|
default_llmmessage
|
||||||
@ -18,4 +21,5 @@ def load_llmage():
|
|||||||
env.default_sysmessage = default_sysmessage
|
env.default_sysmessage = default_sysmessage
|
||||||
env.default_usrmessage = default_usrmessage
|
env.default_usrmessage = default_usrmessage
|
||||||
env.default_llmmessage = default_llmmessage
|
env.default_llmmessage = default_llmmessage
|
||||||
|
env.SessageMessages = SessionMessages
|
||||||
|
|
||||||
|
|||||||
@ -5,24 +5,6 @@ from appPublic.log import debug, exception
|
|||||||
from uapi.appapi import UAPI, sor_get_callerid, sor_get_uapi
|
from uapi.appapi import UAPI, sor_get_callerid, sor_get_uapi
|
||||||
from ahserver.serverenv import get_serverenv
|
from ahserver.serverenv import get_serverenv
|
||||||
|
|
||||||
def default_sysmessage():
|
|
||||||
return """{
|
|
||||||
"role":"system",
|
|
||||||
"content":"{{content}}"
|
|
||||||
}"""
|
|
||||||
|
|
||||||
def default_usrmessage():
|
|
||||||
return """{
|
|
||||||
"role":"user",
|
|
||||||
"content":"{{content}}"
|
|
||||||
}"""
|
|
||||||
|
|
||||||
def default_llmmessage():
|
|
||||||
return """{
|
|
||||||
"role":"assisant",
|
|
||||||
"content":"{{content}}"
|
|
||||||
}"""
|
|
||||||
|
|
||||||
async def get_llmcatelogs():
|
async def get_llmcatelogs():
|
||||||
db = DBPools()
|
db = DBPools()
|
||||||
dbname = get_serverenv('get_module_dbname')('llmage')
|
dbname = get_serverenv('get_module_dbname')('llmage')
|
||||||
@ -78,12 +60,8 @@ async def inference(request, env):
|
|||||||
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:
|
||||||
llms = await sor.R('llm', {'id':llmid})
|
llm = await get_llm(llmid)
|
||||||
if len(llms) == 0:
|
env.update(llm)
|
||||||
e = Exception(f'{llmid=} not found')
|
|
||||||
exception(f'{e}\n{format_exc()}')
|
|
||||||
raise e
|
|
||||||
llm = llms[0]
|
|
||||||
uapi = UAPI(request, env=env, sor=sor)
|
uapi = UAPI(request, env=env, 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.stream_linify, llm.upappid, llm.apiname, userid)
|
||||||
|
|||||||
69
llmage/messages.py
Normal file
69
llmage/messages.py
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
from appPublic.myTE import MyTemplateEngine
|
||||||
|
|
||||||
|
def default_sysmessage():
|
||||||
|
return """{
|
||||||
|
"role":"system",
|
||||||
|
"content":"{{content}}"
|
||||||
|
}"""
|
||||||
|
|
||||||
|
def default_usrmessage():
|
||||||
|
return """{
|
||||||
|
"role":"user",
|
||||||
|
"content":"{{prompt}}"
|
||||||
|
}"""
|
||||||
|
|
||||||
|
def default_llmmessage():
|
||||||
|
return """{
|
||||||
|
"role":"assisant",
|
||||||
|
"content":"{{content}}"
|
||||||
|
}"""
|
||||||
|
|
||||||
|
class BaseMessages:
|
||||||
|
def __init__(self, request, llmid, sys_message, usr_message, llm_message):
|
||||||
|
self.request = request
|
||||||
|
self.llmid = llmid
|
||||||
|
self.sys_message = sys_message
|
||||||
|
self.usr_message = usr_message
|
||||||
|
self.llm_message = llm_message
|
||||||
|
self.te = MyTemplateEngine([])
|
||||||
|
|
||||||
|
async def append_meessages(self, msg_format, **kw):
|
||||||
|
m = self.te.renders(msg_format, kw)
|
||||||
|
msgs = await self.get_messages()
|
||||||
|
msgs.append(m)
|
||||||
|
await self.set_message(msgs)
|
||||||
|
return msgs
|
||||||
|
|
||||||
|
async def append_usr_messages(self, **kw):
|
||||||
|
return await self.append_messages(self.usr_message, **kw)
|
||||||
|
|
||||||
|
async def append_sys_messages(self, **kw):
|
||||||
|
return await self.append_messages(self.sys_message, **kw)
|
||||||
|
|
||||||
|
async def append_llm_messages(self, **kw):
|
||||||
|
return await self.append_messages(self.llm_message, **kw)
|
||||||
|
|
||||||
|
async def get_messages(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
async def set_messages(self, msgs):
|
||||||
|
pass
|
||||||
|
|
||||||
|
class SessionMessages(BaseMessages):
|
||||||
|
async def get_messages(self):
|
||||||
|
env = self.request['run_ns']
|
||||||
|
s = await env.get_session()
|
||||||
|
userid = await env.get_user()
|
||||||
|
mk = f'{self.llmid}_{userid}_msgs'
|
||||||
|
msgs = s[mk]
|
||||||
|
if not msgs:
|
||||||
|
msgs = []
|
||||||
|
return msgs
|
||||||
|
|
||||||
|
async def set_messages(self, msgs):
|
||||||
|
env = self.request['run_ns']
|
||||||
|
s = await env.get_session()
|
||||||
|
userid = await env.get_user()
|
||||||
|
mk = f'{self.llmid}_{userid}_msgs'
|
||||||
|
s[mk] = msgs
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user