anezatra commited on
Commit
b7d11fd
·
verified ·
1 Parent(s): 1be6434

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -8
app.py CHANGED
@@ -1,4 +1,3 @@
1
- !pip install gradio
2
  import gradio as gr
3
  from transformers import GPT2LMHeadModel, GPT2Tokenizer
4
 
@@ -6,8 +5,8 @@ model_name = "anezatra/gpt2_openassistant_guanaco"
6
  model = GPT2LMHeadModel.from_pretrained(model_name)
7
  tokenizer = GPT2Tokenizer.from_pretrained(model_name)
8
 
9
- def respond(message):
10
- prompt = f"{message}"
11
 
12
  inputs = tokenizer.encode(prompt, return_tensors="pt")
13
  outputs = model.generate(
@@ -20,7 +19,10 @@ def respond(message):
20
  do_sample=True,
21
  )
22
 
23
- response = tokenizer.decode(outputs[0], skip_special_tokens=True).split("### Assistant:")[-1].strip()
 
 
 
24
  return response
25
 
26
  banner = gr.HTML("""
@@ -40,11 +42,11 @@ with gr.Blocks(theme=gr.Theme.from_hub('gradio/monochrome')) as demo:
40
  clear = gr.Button("Clear chat")
41
  submit = gr.Button("Send message")
42
 
43
- def user_input(user_message):
44
- response = respond(user_message)
45
- return "", [[user_message, response]]
46
 
47
- msg.submit(user_input, [msg], [msg, chatbot], queue=False)
48
  clear.click(lambda: None, None, chatbot, queue=False)
49
  submit.click(lambda: msg.submit(), None, chatbot, queue=False)
50
 
 
 
1
  import gradio as gr
2
  from transformers import GPT2LMHeadModel, GPT2Tokenizer
3
 
 
5
  model = GPT2LMHeadModel.from_pretrained(model_name)
6
  tokenizer = GPT2Tokenizer.from_pretrained(model_name)
7
 
8
+ def respond(message, history):
9
+ prompt = "\n".join(history + [message])
10
 
11
  inputs = tokenizer.encode(prompt, return_tensors="pt")
12
  outputs = model.generate(
 
19
  do_sample=True,
20
  )
21
 
22
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
23
+ response = response.split("### Assistant:")[-1].strip()
24
+ if "### Human:" in response:
25
+ response = response.split("### Human:")[1].strip()
26
  return response
27
 
28
  banner = gr.HTML("""
 
42
  clear = gr.Button("Clear chat")
43
  submit = gr.Button("Send message")
44
 
45
+ def user_input(user_message, history):
46
+ response = respond(user_message, history)
47
+ return "", history + [[user_message, response]]
48
 
49
+ msg.submit(user_input, [msg, chatbot], [msg, chatbot], queue=False)
50
  clear.click(lambda: None, None, chatbot, queue=False)
51
  submit.click(lambda: msg.submit(), None, chatbot, queue=False)
52