upgraded personas

This commit is contained in:
Saifeddine ALOUI 2024-04-09 01:21:34 +02:00
parent c8bb03e71d
commit 0f21c67086
2 changed files with 12 additions and 8 deletions

View File

@ -1720,7 +1720,7 @@ class StateMachine:
def process_state(self, command, full_context, callback: Callable[[str, MSG_TYPE, dict, list], bool]=None):
def process_state(self, command, full_context, callback: Callable[[str, MSG_TYPE, dict, list], bool]=None, client:Client=None):
"""
Process the given command based on the current state.
@ -1739,7 +1739,10 @@ class StateMachine:
for cmd, func in commands.items():
if cmd == command[0:len(cmd)]:
func(command, full_context)
try:
func(command, full_context,client)
except:# retrocompatibility
func(command, full_context)
return
default_func = current_state.get("default")
@ -1923,7 +1926,7 @@ class APScript(StateMachine):
"""
pass
def execute_command(self, command: str, parameters:list=[]):
def execute_command(self, command: str, parameters:list=[], client:Client=None):
"""
Recovers user commands and executes them. Each personality can define a set of commands that they can receive and execute
Args:
@ -1932,7 +1935,7 @@ class APScript(StateMachine):
"""
try:
self.process_state(command, "", self.callback)
self.process_state(command, "", self.callback, client)
except Exception as ex:
trace_exception(ex)
self.warning(f"Couldn't execute command {command}")
@ -2246,7 +2249,8 @@ class APScript(StateMachine):
f"!@>summary:",
f"{answer_start}"
]),
max_generation_size=max_generation_size, callback=callback)
max_generation_size=max_generation_size,
callback=callback)
summeries.append(summary)
return "\n".join(summeries)

View File

@ -24,7 +24,7 @@ from functools import partial
from datetime import datetime
import threading
import os
from lollms.security import check_access
router = APIRouter()
lollmsElfServer = LOLLMSElfServer.get_instance()
@ -117,7 +117,7 @@ def add_events(sio:socketio):
@sio.on('execute_command')
def execute_command(sid, data):
client_id = sid
client = lollmsElfServer.session.get_client(client_id)
client = check_access(lollmsElfServer, client_id)
lollmsElfServer.cancel_gen = False
client.generated_text=""
@ -153,7 +153,7 @@ def add_events(sio:socketio):
if lollmsElfServer.personality.processor is not None:
lollmsElfServer.start_time = datetime.now()
lollmsElfServer.personality.processor.callback = partial(lollmsElfServer.process_chunk, client_id=client_id)
lollmsElfServer.personality.processor.execute_command(command, parameters)
lollmsElfServer.personality.processor.execute_command(command, parameters, client)
else:
lollmsElfServer.warning("Non scripted personalities do not support commands",client_id=client_id)
lollmsElfServer.close_message(client_id)