diff --git a/lollms/server/events/lollms_personality_events.py b/lollms/server/events/lollms_personality_events.py new file mode 100644 index 0000000..efb5cfe --- /dev/null +++ b/lollms/server/events/lollms_personality_events.py @@ -0,0 +1,45 @@ +""" +project: lollms +file: lollms_personality_events.py +author: ParisNeo +description: + This module contains a set of socketio events that provide information about the Lord of Large Language and Multimodal Systems (LoLLMs) Web UI + application. These events are specific to personality + +""" +from fastapi import APIRouter, Request +from fastapi import HTTPException +from pydantic import BaseModel +import pkg_resources +from lollms.server.elf_server import LOLLMSElfServer +from fastapi.responses import FileResponse +from lollms.binding import BindingBuilder, InstallOption +from ascii_colors import ASCIIColors +from lollms.personality import MSG_TYPE, AIPersonality +from lollms.utilities import load_config, trace_exception, gc, terminate_thread +from pathlib import Path +from typing import List +import socketio +from functools import partial +from datetime import datetime +import os + +router = APIRouter() +lollmsElfServer = LOLLMSElfServer.get_instance() + + +# ----------------------------------- events ----------------------------------------- +def add_events(sio:socketio): + @sio.on('execute_command') + def execute_command(sid, data): + client_id = sid + command = data["command"] + parameters = data["parameters"] + 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) + else: + lollmsElfServer.warning("Non scripted personalities do not support commands",client_id=client_id) + lollmsElfServer.close_message(client_id) + \ No newline at end of file diff --git a/lollms/server/server.py b/lollms/server/server.py index 5efe37d..4c50954 100644 --- a/lollms/server/server.py +++ b/lollms/server/server.py @@ -58,6 +58,7 @@ if __name__ == "__main__": from lollms.server.events.lollms_generation_events import add_events as lollms_generation_events_add + from lollms.server.events.lollms_personality_events import add_events as lollms_personality_events_add app.include_router(lollms_binding_files_server_router) app.include_router(lollms_infos_router) @@ -75,6 +76,7 @@ if __name__ == "__main__": lollms_generation_events_add(sio) + lollms_personality_events_add(sio) app = ASGIApp(socketio_server=sio, other_asgi_app=app)