Asis commited on
Commit
2322e0a
1 Parent(s): da71b61

Add slider for answer length

Browse files
Files changed (1) hide show
  1. app.py +11 -8
app.py CHANGED
@@ -2,21 +2,24 @@ import re
2
  import gradio as gr
3
  from transformers import pipeline
4
 
5
- generator = pipeline('text-generation', model='plasticfruits/gpt2-finetuned-how-to-qa')
 
 
 
6
 
7
  def clean_response(user_prompt, response):
8
  response = re.sub("(?<=\.)[^.]*$", "", response) # finish at last sentence dot
9
  response = (
10
- response.replace("[WP]", "").replace(user_prompt, "").replace("[RESPONSE]", "")
11
  )
12
  response = response.lstrip()
13
  return response
14
 
15
 
16
- def generate(text):
17
- text = f"\n<|startoftext|>[WP] {text} \n[RESPONSE]"
18
- result = generator(text,
19
- max_length=350,
20
  num_return_sequences=1,
21
  do_sample=True,
22
  top_k=50,
@@ -32,13 +35,13 @@ examples = [
32
  ]
33
 
34
  title = "How-to Generator"
35
- description = "Ask your 'how-to' question to get the best possible answer available in the universe.<br>For best performance, make sure to start your question with 'How too {your question}'"
36
  article = "<p style='text-align: center'><a href='how-to-generator.herokuapp.com/' target='_blank'>Official How-To Page</a></p>"
37
 
38
 
39
  demo = gr.Interface(
40
  fn=generate,
41
- inputs=gr.inputs.Textbox(lines=5, label="Input Text"),
42
  outputs=gr.outputs.Textbox(label="Generated Text"),
43
  examples=examples,
44
  title=title,
 
2
  import gradio as gr
3
  from transformers import pipeline
4
 
5
+
6
+ generator = pipeline('text-generation',
7
+ model='plasticfruits/gpt2-finetuned-how-to-qa',
8
+ tokenizer='plasticfruits/gpt2-finetuned-how-to-qa')
9
 
10
  def clean_response(user_prompt, response):
11
  response = re.sub("(?<=\.)[^.]*$", "", response) # finish at last sentence dot
12
  response = (
13
+ response.replace("[WP]", "").replace(user_prompt, "").replace("[RESPONSE]", "").replace("<|startoftext|>", "")
14
  )
15
  response = response.lstrip()
16
  return response
17
 
18
 
19
+ def generate(text, length=350):
20
+ prompt = f"\n<|startoftext|>[WP] {text} \n[RESPONSE]"
21
+ result = generator(prompt,
22
+ max_length=length,
23
  num_return_sequences=1,
24
  do_sample=True,
25
  top_k=50,
 
35
  ]
36
 
37
  title = "How-to Generator"
38
+ description = "Ask your 'how-to' question to get the best possible answer available in the universe.<br>For best performance, start your question with 'How to {your question}'"
39
  article = "<p style='text-align: center'><a href='how-to-generator.herokuapp.com/' target='_blank'>Official How-To Page</a></p>"
40
 
41
 
42
  demo = gr.Interface(
43
  fn=generate,
44
+ inputs=[gr.inputs.Textbox(lines=5, label="Input Text"), gr.Slider(60, 600, value=300, label="Answer Length")],
45
  outputs=gr.outputs.Textbox(label="Generated Text"),
46
  examples=examples,
47
  title=title,