From 08b8221e7ef6643d1aeb9b72ac93b10e7da2ee3a Mon Sep 17 00:00:00 2001 From: Saifeddine ALOUI Date: Thu, 13 Apr 2023 23:53:13 +0200 Subject: [PATCH] upgraded code --- app.py | 16 ++++++++++++++++ static/images/refresh.png | Bin 22562 -> 30560 bytes static/js/chat.js | 24 ++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index 761b1f74..2db0907c 100644 --- a/app.py +++ b/app.py @@ -69,6 +69,7 @@ class Gpt4AllWebUI: "/new_discussion", "new_discussion", self.new_discussion, methods=["GET"] ) self.add_endpoint("/bot", "bot", self.bot, methods=["POST"]) + self.add_endpoint("/run_to", "run_to", self.run_to, methods=["POST"]) self.add_endpoint("/rename", "rename", self.rename, methods=["POST"]) self.add_endpoint( "/load_discussion", "load_discussion", self.load_discussion, methods=["POST"] @@ -311,6 +312,21 @@ class Gpt4AllWebUI: self.parse_to_prompt_stream(message, message_id) ) ) + + + def run_to(self): + data = request.get_json() + message_id = data["id"] + + self.stop = True + + # Segmented (the user receives the output as it comes) + # We will first send a json entry that contains the message id and so on, then the text as it goes + return Response( + stream_with_context( + self.parse_to_prompt_stream(message, message_id) + ) + ) def rename(self): data = request.get_json() diff --git a/static/images/refresh.png b/static/images/refresh.png index eba88e282791e6eeaec60d67f71b8c113e02894f..348a5db3b6d883cef6bb7633abc36432c5184eb1 100644 GIT binary patch literal 30560 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 `>VTzNdwKb#^SD5cb{=MLS4ii)9QgZ5ZU$b{ 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 literal 22562 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 { + const url = `/message_rank_up?id=${id}`; + fetch(url) + .then(response => response.json()) + .then(data => { + }) + .catch(error => { + console.error('There was a problem updating the message:', error); + }); + }); + const editButton = document.createElement('button'); editButton.classList.add('bg-green-500', 'hover:bg-green-700', 'text-white', 'font-bold', 'py-0', 'px-0', 'rounded',"w-10","h-10"); editButton.style.float = 'right'; // set the float property to right @@ -195,8 +215,8 @@ function addMessage(sender, message, id, rank=0, can_edit=false) { console.error('There was a problem updating the message:', error); }); }); - buttonsContainer.appendChild(editButton); + buttonsContainer.appendChild(resendButton); buttonsContainer.appendChild(deleteButton); buttonsContainer.appendChild(rank_up);