bugfix
This commit is contained in:
parent
80d9bde804
commit
c073da5c5a
@ -3,6 +3,9 @@ from llmage.llmclient import (
|
||||
inference,
|
||||
get_llmcatelogs,
|
||||
get_llms_by_catelog,
|
||||
)
|
||||
from llmage.messages import (
|
||||
SessionMessages,
|
||||
default_sysmessage,
|
||||
default_usrmessage,
|
||||
default_llmmessage
|
||||
@ -18,4 +21,5 @@ def load_llmage():
|
||||
env.default_sysmessage = default_sysmessage
|
||||
env.default_usrmessage = default_usrmessage
|
||||
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 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():
|
||||
db = DBPools()
|
||||
dbname = get_serverenv('get_module_dbname')('llmage')
|
||||
@ -78,12 +60,8 @@ async def inference(request, env):
|
||||
dbname = env.get_module_dbname('llmage')
|
||||
db = env.DBPools()
|
||||
async with db.sqlorContext(dbname) as sor:
|
||||
llms = await sor.R('llm', {'id':llmid})
|
||||
if len(llms) == 0:
|
||||
e = Exception(f'{llmid=} not found')
|
||||
exception(f'{e}\n{format_exc()}')
|
||||
raise e
|
||||
llm = llms[0]
|
||||
llm = await get_llm(llmid)
|
||||
env.update(llm)
|
||||
uapi = UAPI(request, env=env, sor=sor)
|
||||
userid = await env.get_user()
|
||||
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