Added parallel workaround
Browse files
app.py
CHANGED
@@ -8,10 +8,13 @@ tokenizer = BlenderbotTokenizer.from_pretrained(model_name)
|
|
8 |
model = BlenderbotForConditionalGeneration.from_pretrained(model_name)
|
9 |
model.to(device)
|
10 |
|
11 |
-
def get_reply(response,
|
|
|
|
|
12 |
history.append(response)
|
13 |
if response.endswith(("bye", "Bye", "bye.", "Bye.")):
|
14 |
-
|
|
|
15 |
if len(history) > 4: history = history[-4:]
|
16 |
inputs = tokenizer(" ".join(history), return_tensors="pt")
|
17 |
inputs.to(device)
|
@@ -24,8 +27,8 @@ def get_reply(response, history = []):
|
|
24 |
cls = "user" if m%2 == 0 else "bot"
|
25 |
html += "<div class='msg {}'> {}</div>".format(cls, msg)
|
26 |
html += "</div>"
|
27 |
-
|
28 |
-
return html,
|
29 |
|
30 |
css = """
|
31 |
.chatbox {display:flex;flex-direction:column}
|
@@ -37,7 +40,8 @@ css = """
|
|
37 |
|
38 |
gr.Interface(fn=get_reply,
|
39 |
theme="default",
|
40 |
-
inputs=[gr.inputs.Textbox(placeholder="How are you?"),
|
|
|
41 |
"state"],
|
42 |
outputs=["html", "state"],
|
43 |
-
css=css).launch(debug=True, enable_queue=True
|
|
|
8 |
model = BlenderbotForConditionalGeneration.from_pretrained(model_name)
|
9 |
model.to(device)
|
10 |
|
11 |
+
def get_reply(response, username = None, histories = {}):
|
12 |
+
if username == None or username == "": return "<div class='chatbot'>Enter a username</div>", histories
|
13 |
+
history = histories.get(username, [])
|
14 |
history.append(response)
|
15 |
if response.endswith(("bye", "Bye", "bye.", "Bye.")):
|
16 |
+
history[username] = []
|
17 |
+
return "<div class='chatbot'>Chatbot restarted</div>", histories
|
18 |
if len(history) > 4: history = history[-4:]
|
19 |
inputs = tokenizer(" ".join(history), return_tensors="pt")
|
20 |
inputs.to(device)
|
|
|
27 |
cls = "user" if m%2 == 0 else "bot"
|
28 |
html += "<div class='msg {}'> {}</div>".format(cls, msg)
|
29 |
html += "</div>"
|
30 |
+
histories[username] = history
|
31 |
+
return html, histories
|
32 |
|
33 |
css = """
|
34 |
.chatbox {display:flex;flex-direction:column}
|
|
|
40 |
|
41 |
gr.Interface(fn=get_reply,
|
42 |
theme="default",
|
43 |
+
inputs=[gr.inputs.Textbox(placeholder="How are you?"),
|
44 |
+
gr.inputs.Textbox(label="Username"),
|
45 |
"state"],
|
46 |
outputs=["html", "state"],
|
47 |
+
css=css).launch(debug=True, enable_queue=True)
|