imamnurby commited on
Commit
1e64735
1 Parent(s): f815796

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -50
app.py CHANGED
@@ -9,17 +9,17 @@ tokenizer = RobertaTokenizer.from_pretrained("imamnurby/rob2rand_chen_w_prefix_c
9
 
10
  from transformers import RobertaTokenizer, EncoderDecoderModel
11
  import pandas as pd
12
- def generate_taps(gen_mode, desc):
13
- input_desc = desc.lower()
14
- if gen_mode=="Channel":
15
- input_desc = "GENERATE TRIGGER AND ACTION CHANNEL ONLY <pf> " + input_desc
16
- elif gen_mode=="Function":
17
- input_desc = "GENERATE BOTH CHANNEL AND FUNCTION FOR TRIGGER AND ACTION <pf> " + input_desc
18
 
19
  model = EncoderDecoderModel.from_pretrained("imamnurby/rob2rand_chen_w_prefix_c_fc")
20
  tokenizer = RobertaTokenizer.from_pretrained("imamnurby/rob2rand_chen_w_prefix_c_fc")
21
 
22
- input_ids = tokenizer.encode(input_desc, return_tensors='pt')
23
 
24
  # activate beam search and early_stopping
25
  preds = model.generate(
@@ -34,30 +34,28 @@ def generate_taps(gen_mode, desc):
34
  for item in preds:
35
  output_list.append(tokenizer.decode(item, skip_special_tokens=True))
36
 
37
- if gen_mode=="Channel":
38
- trigger = [x.split("<sep>")[0].strip() for x in output_list]
39
- # trigger_desc = ["dummy" for x in output_list]
40
- action = [x.split("<sep>")[1].strip() for x in output_list]
41
- # action_desc = ["dummy" for x in output_list]
42
- df = {"Trigger": trigger,
43
- # "Trigger Description": trigger_desc,
44
- "Action": action,
45
- # "Action Description": action_desc
46
- }
47
- elif gen_mode=="Function":
48
- trigger = [x.split("<sep>")[1].strip() for x in output_list]
49
- trigger_desc = ["dummy" for x in output_list]
50
- action = [x.split("<sep>")[3].strip() for x in output_list]
51
- action_desc = ["dummy" for x in output_list]
52
- df = {"Trigger": trigger,
53
- # "Trigger Description": trigger_desc,
54
- "Action": action,
55
- # "Action Description": action_desc
56
- }
57
  return pd.DataFrame(df)
58
 
59
-
60
- demo = gr.Blocks()
61
  with demo:
62
  gr.Markdown("<h1><center>RecipeGen: Automated TAPs Generation Tool</center></h1>")
63
  gr.Markdown("<center>This demo allows you to generate TAPs (Trigger Action Programs) using functionality description described in English. You can learn the working detail of our tool from our paper<center>")
@@ -70,27 +68,27 @@ with demo:
70
  5. Click **Generate**; the generated TAPs along with the description of each component will show in the **Results**
71
  """)
72
  gr.Markdown("NOTE: **#Returned Sequences** should be LESS THAN OR EQUAL **Beam Width**")
73
- with gr.Tabs():
74
- with gr.TabItem("Channel/Function"):
75
- with gr.Column():
76
- gen_mode = gr.Radio(label="Granularity", choices=["Channel", "Function"])
77
- desc = gr.Textbox(label="Functionality Description", placeholder="Describe the functionality here")
78
- num_beams = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="Beam Width")
79
- num_returned_seqs = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="#Returned Sequences")
80
- with gr.Row():
81
- generate = gr.Button("Generate")
82
- gr.Markdown("<h1><center>Results</center></h1>")
83
- results = gr.Dataframe(headers=["Trigger", "Trigger Description", "Action", "Action Description"])
84
 
85
- with gr.TabItem("Field"):
86
- with gr.Column():
87
- desc = gr.Textbox(label="Functionality Description", placeholder="Describe the functionality here")
88
- num_beams = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="Beam Width")
89
- num_returned_seqs = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="#Returned Sequences")
90
- with gr.Row():
91
- generate_field = gr.Button("Generate")
92
- gr.Markdown("<h1><center>Results</center></h1>")
93
- results_field = gr.Dataframe(headers=["Trigger", "Trigger Description", "Trigger Fields", "Action", "Action Description", "Action Fields"])
94
 
95
- generate.click(generate_taps, inputs=[gen_mode, desc], outputs=[results])
96
  demo.launch()
 
9
 
10
  from transformers import RobertaTokenizer, EncoderDecoderModel
11
  import pandas as pd
12
+ def generate_preds(desc):
13
+ # input_desc = desc.lower()
14
+ # if gen_mode=="Channel":
15
+ # input_desc = "GENERATE TRIGGER AND ACTION CHANNEL ONLY <pf> " + input_desc
16
+ # elif gen_mode=="Function":
17
+ # input_desc = "GENERATE BOTH CHANNEL AND FUNCTION FOR TRIGGER AND ACTION <pf> " + input_desc
18
 
19
  model = EncoderDecoderModel.from_pretrained("imamnurby/rob2rand_chen_w_prefix_c_fc")
20
  tokenizer = RobertaTokenizer.from_pretrained("imamnurby/rob2rand_chen_w_prefix_c_fc")
21
 
22
+ input_ids = tokenizer.encode(desc, return_tensors='pt')
23
 
24
  # activate beam search and early_stopping
25
  preds = model.generate(
 
34
  for item in preds:
35
  output_list.append(tokenizer.decode(item, skip_special_tokens=True))
36
 
37
+ # if gen_mode=="Channel":
38
+ trigger = [x.split("<sep>")[0].strip() for x in output_list]
39
+ # trigger_desc = ["dummy" for x in output_list]
40
+ action = [x.split("<sep>")[1].strip() for x in output_list]
41
+ # action_desc = ["dummy" for x in output_list]
42
+ df = {"Trigger": trigger,
43
+ # "Trigger Description": trigger_desc,
44
+ "Action": action,
45
+ # "Action Description": action_desc
46
+ }
47
+ # elif gen_mode=="Function":
48
+ # trigger = [x.split("<sep>")[1].strip() for x in output_list]
49
+ # trigger_desc = ["dummy" for x in output_list]
50
+ # action = [x.split("<sep>")[3].strip() for x in output_list]
51
+ # action_desc = ["dummy" for x in output_list]
52
+ # df = {"Trigger": trigger,
53
+ # # "Trigger Description": trigger_desc,
54
+ # "Action": action,
55
+ # # "Action Description": action_desc
56
+ # }
57
  return pd.DataFrame(df)
58
 
 
 
59
  with demo:
60
  gr.Markdown("<h1><center>RecipeGen: Automated TAPs Generation Tool</center></h1>")
61
  gr.Markdown("<center>This demo allows you to generate TAPs (Trigger Action Programs) using functionality description described in English. You can learn the working detail of our tool from our paper<center>")
 
68
  5. Click **Generate**; the generated TAPs along with the description of each component will show in the **Results**
69
  """)
70
  gr.Markdown("NOTE: **#Returned Sequences** should be LESS THAN OR EQUAL **Beam Width**")
71
+ # with gr.Tabs():
72
+ # with gr.TabItem("Channel/Function"):
73
+ # with gr.Column():
74
+ # gen_mode = gr.Radio(label="Granularity", choices=["Channel", "Function"])
75
+ desc = gr.Textbox(label="Functionality Description", placeholder="Describe the functionality here")
76
+ # num_beams = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="Beam Width")
77
+ # num_returned_seqs = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="#Returned Sequences")
78
+ # with gr.Row():
79
+ generate = gr.Button("Generate")
80
+ # gr.Markdown("<h1><center>Results</center></h1>")
81
+ results = gr.Dataframe(headers=["Trigger", "Trigger Description", "Action", "Action Description"])
82
 
83
+ # with gr.TabItem("Field"):
84
+ # with gr.Column():
85
+ # desc = gr.Textbox(label="Functionality Description", placeholder="Describe the functionality here")
86
+ # num_beams = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="Beam Width")
87
+ # num_returned_seqs = gr.Slider(minimum=2, maximum=500, value=2, step=1, label="#Returned Sequences")
88
+ # with gr.Row():
89
+ # generate_field = gr.Button("Generate")
90
+ # gr.Markdown("<h1><center>Results</center></h1>")
91
+ # results_field = gr.Dataframe(headers=["Trigger", "Trigger Description", "Trigger Fields", "Action", "Action Description", "Action Fields"])
92
 
93
+ generate.click(generate_preds, inputs=[desc], outputs=[results])
94
  demo.launch()