From a68fcfe738dc884906db000aaf3fdd25c0f79591 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Sat, 10 Jun 2023 19:03:41 +0800 Subject: [PATCH] only start a new thread when using sse --- koboldcpp.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/koboldcpp.py b/koboldcpp.py index d0ab580ba..851296531 100644 --- a/koboldcpp.py +++ b/koboldcpp.py @@ -234,8 +234,6 @@ class ServerRequestHandler(http.server.SimpleHTTPRequestHandler): super().__init__(*args, **kwargs) async def generate_text(self, newprompt, genparams, basic_api_flag, stream_flag): - loop = asyncio.get_event_loop() - executor = ThreadPoolExecutor() def run_blocking(): if basic_api_flag: @@ -270,8 +268,13 @@ class ServerRequestHandler(http.server.SimpleHTTPRequestHandler): stop_sequence=genparams.get('stop_sequence', []), stream_sse=stream_flag) - - recvtxt = await loop.run_in_executor(executor, run_blocking) + recvtxt = "" + if stream_flag: + loop = asyncio.get_event_loop() + executor = ThreadPoolExecutor() + recvtxt = await loop.run_in_executor(executor, run_blocking) + else: + recvtxt = run_blocking() utfprint("\nOutput: " + recvtxt)