-
Notifications
You must be signed in to change notification settings - Fork 164
/
Copy pathchatter.py
37 lines (32 loc) · 872 Bytes
/
chatter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from manager import Manager
from runner import Runner
import gradio as gr
import time
class Chatter:
def __init__(
self,
runner: "Runner",
manager: "Manager"
):
self.runner = runner
self.manager = manager
def append(
self,
message,
chatbot,
):
if message["text"] is not None:
return chatbot + [[message["text"], None]]
def output(
self,
message,
chatbot,
):
base_output = ""
for output in self.runner.pipeline.chat(query = message['text']):
base_output += "\n"
for i in range(len(output)):
time.sleep(0.001)
chatbot[-1][1] = base_output + output[:i]
yield chatbot, gr.update(value = None)
base_output += output