hallisky commited on
Commit
1bd1c19
·
1 Parent(s): 8d81e67

Save feedback

Browse files
Files changed (1) hide show
  1. app.py +58 -0
app.py CHANGED
@@ -2,15 +2,34 @@ import spaces
2
  import gradio as gr
3
  import torch
4
  from transformers import AutoTokenizer
 
5
 
6
  tokenizer = AutoTokenizer.from_pretrained("gpt2")
7
 
 
 
 
8
  @spaces.GPU
9
  def temp(text):
10
  response = tokenizer(input_text, return_tensors="pt")
11
  return response
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  def greet(input_text, length, function_words, grade_level, sarcasm, formality, voice, persuasive, descriptive, narrative, expository):
 
14
  response = (
15
  f"Hello!\n"
16
  f"Input Text: {input_text}\n"
@@ -25,6 +44,32 @@ def greet(input_text, length, function_words, grade_level, sarcasm, formality, v
25
  f"Narrative: {narrative}\n"
26
  f"Expository: {expository}"
27
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  return response
29
 
30
  def reset_sliders():
@@ -119,4 +164,17 @@ with demo:
119
  gr.Markdown("### Provide any feedback on the obfuscation")
120
  feedback_text = gr.Textbox(label="Feedback", lines=3)
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  demo.launch()
 
2
  import gradio as gr
3
  import torch
4
  from transformers import AutoTokenizer
5
+ import json
6
 
7
  tokenizer = AutoTokenizer.from_pretrained("gpt2")
8
 
9
+ # Global variable to store the latest obfuscation result
10
+ latest_obfuscation = {}
11
+
12
  @spaces.GPU
13
  def temp(text):
14
  response = tokenizer(input_text, return_tensors="pt")
15
  return response
16
 
17
+ def save_data(data):
18
+ with open("user_data.json", "a") as f:
19
+ json.dump(data, f)
20
+ f.write("\n")
21
+
22
+ def save_feedback(feedback_rating, feedback_text):
23
+ global latest_obfuscation
24
+ if latest_obfuscation:
25
+ latest_obfuscation['feedback'] = {
26
+ "rating": feedback_rating,
27
+ "text": feedback_text
28
+ }
29
+ save_data(latest_obfuscation)
30
+
31
  def greet(input_text, length, function_words, grade_level, sarcasm, formality, voice, persuasive, descriptive, narrative, expository):
32
+ global latest_obfuscation
33
  response = (
34
  f"Hello!\n"
35
  f"Input Text: {input_text}\n"
 
44
  f"Narrative: {narrative}\n"
45
  f"Expository: {expository}"
46
  )
47
+
48
+ # Save the new obfuscation result and reset feedback
49
+ latest_obfuscation = {
50
+ "input_text": input_text,
51
+ "sliders": {
52
+ "length": length,
53
+ "function_words": function_words,
54
+ "grade_level": grade_level,
55
+ "sarcasm": sarcasm,
56
+ "formality": formality,
57
+ "voice": voice,
58
+ "persuasive": persuasive,
59
+ "descriptive": descriptive,
60
+ "narrative": narrative,
61
+ "expository": expository
62
+ },
63
+ "output": response,
64
+ "feedback": {
65
+ "rating": "No Feedback Selected",
66
+ "text": ""
67
+ }
68
+ }
69
+
70
+ # Save the obfuscation result
71
+ save_data(latest_obfuscation)
72
+
73
  return response
74
 
75
  def reset_sliders():
 
164
  gr.Markdown("### Provide any feedback on the obfuscation")
165
  feedback_text = gr.Textbox(label="Feedback", lines=3)
166
 
167
+ # Trigger save_feedback on feedback change
168
+ feedback_rating.change(
169
+ fn=save_feedback,
170
+ inputs=[feedback_rating, feedback_text],
171
+ outputs=[]
172
+ )
173
+
174
+ feedback_text.change(
175
+ fn=save_feedback,
176
+ inputs=[feedback_rating, feedback_text],
177
+ outputs=[]
178
+ )
179
+
180
  demo.launch()