joeyanuff commited on
Commit
b0053e0
1 Parent(s): 36be6c9

Character radio add

Browse files
Files changed (1) hide show
  1. app.py +26 -8
app.py CHANGED
@@ -12,10 +12,11 @@ TEMPERATURE_DEFAULT = 0.5
12
  EMOTION_DEFAULT = "N/A"
13
  TRANSLATE_TO_DEFAULT = "Don't translate"
14
  LITERARY_STYLE_DEFAULT = "Prose"
 
15
  PROMPT_TEMPLATE = PromptTemplate(
16
- input_variables=["original_words", "num_words", "formality", "emotions", "translate_to", "literary_style"],
17
- template="Express {num_words}in a {formality} manner, "
18
- "{emotions}{translate_to}{literary_style}the following: \n{original_words}\n",
19
  )
20
 
21
 
@@ -35,7 +36,7 @@ def set_openai_api_key(api_key, openai_api_key, temperature, llm_chain):
35
  def transform_text(desc, openai_api_key, temperature, llm_chain, num_words, formality,
36
  anticipation_level, joy_level, trust_level,
37
  fear_level, surprise_level, sadness_level, disgust_level, anger_level,
38
- translate_to, literary_style):
39
  if not openai_api_key or openai_api_key == "":
40
  return "<pre>Please paste your OpenAI API key (see https://beta.openai.com)</pre>"
41
 
@@ -99,18 +100,28 @@ def transform_text(desc, openai_api_key, temperature, llm_chain, num_words, form
99
  elif literary_style == "Knock-knock":
100
  literary_style_str = "as a very funny knock-knock joke, "
101
 
 
 
 
 
 
 
 
 
 
102
  formatted_prompt = PROMPT_TEMPLATE.format(
103
  original_words=desc,
104
  num_words=num_words_prompt,
105
  formality=formality,
106
  emotions=emotions_str,
107
  translate_to=translate_to_str,
108
- literary_style=literary_style_str
 
109
  )
110
 
111
  generated_text = llm_chain.run({'original_words': desc, 'num_words': num_words_prompt, 'formality': formality,
112
  'emotions': emotions_str, 'translate_to': translate_to_str,
113
- 'literary_style': literary_style_str}).strip()
114
 
115
  # replace all newlines with <br> in generated_text
116
  generated_text = generated_text.replace("\n", "<br>")
@@ -148,6 +159,7 @@ with block:
148
  anger_level_state = gr.State(EMOTION_DEFAULT)
149
  translate_to_state = gr.State(TRANSLATE_TO_DEFAULT)
150
  literary_style_state = gr.State(LITERARY_STYLE_DEFAULT)
 
151
 
152
  with gr.Row():
153
  temperature_slider = gr.Slider(label="GPT Temperature", value=TEMPERATURE_DEFAULT, minimum=0.0, maximum=1.0,
@@ -178,6 +190,12 @@ with block:
178
  inputs=[formality_radio, formality_state],
179
  outputs=[formality_state])
180
 
 
 
 
 
 
 
181
  translate_to_radio = gr.Radio(label="Translate to:", choices=[
182
  TRANSLATE_TO_DEFAULT, "Arabic", "British English", "Chinese (Simplified)", "Chinese (Traditional)",
183
  "Czech", "Danish", "Dutch", "emojis", "English", "Finnish", "French", "Gen Z slang", "German", "Greek",
@@ -277,7 +295,7 @@ with block:
277
  formality_state,
278
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
279
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
280
- translate_to_state, literary_style_state],
281
  outputs=[output])
282
 
283
  request.submit(transform_text,
@@ -286,7 +304,7 @@ with block:
286
  formality_state,
287
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
288
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
289
- translate_to_state, literary_style_state],
290
  outputs=[output])
291
 
292
  openai_api_key_textbox.change(set_openai_api_key,
 
12
  EMOTION_DEFAULT = "N/A"
13
  TRANSLATE_TO_DEFAULT = "Don't translate"
14
  LITERARY_STYLE_DEFAULT = "Prose"
15
+ CHARACTER_DEFAULT = "The Old Lady Who Swallowed A Fly"
16
  PROMPT_TEMPLATE = PromptTemplate(
17
+ input_variables=["original_words", "num_words", "formality", "emotions", "translate_to", "literary_style", "character"],
18
+ template="Express {num_words} in a {formality} manner, "
19
+ "{emotions}{translate_to}{literary_style}{character} the following: \n{original_words}\n",
20
  )
21
 
22
 
 
36
  def transform_text(desc, openai_api_key, temperature, llm_chain, num_words, formality,
37
  anticipation_level, joy_level, trust_level,
38
  fear_level, surprise_level, sadness_level, disgust_level, anger_level,
39
+ translate_to, literary_style, character):
40
  if not openai_api_key or openai_api_key == "":
41
  return "<pre>Please paste your OpenAI API key (see https://beta.openai.com)</pre>"
42
 
 
100
  elif literary_style == "Knock-knock":
101
  literary_style_str = "as a very funny knock-knock joke, "
102
 
103
+ character_str = ""
104
+ if character != CHARACTER_DEFAULT:
105
+ if character == "The Old Woman Who Lived In A Shoe":
106
+ character_str = "by the Old Woman Who Lived In A Shoe, "
107
+ elif character == "Mary Had A Little Lamb":
108
+ character_str = "by Mary from Mary Had A Little Lamb, "
109
+ elif character == "Humpty-Dumpty":
110
+ character_str = "by Humpty Dumpty, "
111
+
112
  formatted_prompt = PROMPT_TEMPLATE.format(
113
  original_words=desc,
114
  num_words=num_words_prompt,
115
  formality=formality,
116
  emotions=emotions_str,
117
  translate_to=translate_to_str,
118
+ literary_style=literary_style_str,
119
+ character=character_str,
120
  )
121
 
122
  generated_text = llm_chain.run({'original_words': desc, 'num_words': num_words_prompt, 'formality': formality,
123
  'emotions': emotions_str, 'translate_to': translate_to_str,
124
+ 'literary_style': literary_style_str, 'character': character_str}).strip()
125
 
126
  # replace all newlines with <br> in generated_text
127
  generated_text = generated_text.replace("\n", "<br>")
 
159
  anger_level_state = gr.State(EMOTION_DEFAULT)
160
  translate_to_state = gr.State(TRANSLATE_TO_DEFAULT)
161
  literary_style_state = gr.State(LITERARY_STYLE_DEFAULT)
162
+ character_state = gr.State(CHARACTER_DEFAULT)
163
 
164
  with gr.Row():
165
  temperature_slider = gr.Slider(label="GPT Temperature", value=TEMPERATURE_DEFAULT, minimum=0.0, maximum=1.0,
 
190
  inputs=[formality_radio, formality_state],
191
  outputs=[formality_state])
192
 
193
+ character_radio = gr.Radio(label="From the perspective of:", choices=["The Old Lady Who Swallowed A Fly", "The Old Woman Who Lived In A Shoe", "Mary Had A Little Lamb", "Humpty-Dumpty"],
194
+ value=CHARACTER_DEFAULT)
195
+ formality_radio.change(update_foo,
196
+ inputs=[character_radio, character_state],
197
+ outputs=[character_state])
198
+
199
  translate_to_radio = gr.Radio(label="Translate to:", choices=[
200
  TRANSLATE_TO_DEFAULT, "Arabic", "British English", "Chinese (Simplified)", "Chinese (Traditional)",
201
  "Czech", "Danish", "Dutch", "emojis", "English", "Finnish", "French", "Gen Z slang", "German", "Greek",
 
295
  formality_state,
296
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
297
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
298
+ translate_to_state, literary_style_state, character_state],
299
  outputs=[output])
300
 
301
  request.submit(transform_text,
 
304
  formality_state,
305
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
306
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
307
+ translate_to_state, literary_style_state, character_state],
308
  outputs=[output])
309
 
310
  openai_api_key_textbox.change(set_openai_api_key,