JLW commited on
Commit
784a96d
·
1 Parent(s): 1514e49

Add Express-inator

Browse files
Files changed (2) hide show
  1. app.py +36 -23
  2. videos/tempfile.mp4 +2 -2
app.py CHANGED
@@ -36,15 +36,14 @@ AUTH_ERR_MSG = "Please paste your OpenAI key."
36
 
37
  # Pertains to Express-inator functionality
38
  NUM_WORDS_DEFAULT = 0
39
- FORMALITY_DEFAULT = "Casual"
40
  TEMPERATURE_DEFAULT = 0.5
41
  EMOTION_DEFAULT = "N/A"
42
- TRANSLATE_TO_DEFAULT = "Don't translate"
43
- LITERARY_STYLE_DEFAULT = "Prose"
44
  PROMPT_TEMPLATE = PromptTemplate(
45
  input_variables=["original_words", "num_words", "formality", "emotions", "translate_to", "literary_style"],
46
- template="Express {num_words}in a {formality} manner, "
47
- "{emotions}{translate_to}{literary_style}the following: \n{original_words}\n",
48
  )
49
 
50
 
@@ -91,6 +90,10 @@ def transform_text(desc, express_chain, num_words, formality,
91
  disgust_level = disgust_level.lower()
92
  anger_level = anger_level.lower()
93
 
 
 
 
 
94
  # put all emotions into a list
95
  emotions = []
96
  if anticipation_level != "n/a":
@@ -123,7 +126,9 @@ def transform_text(desc, express_chain, num_words, formality,
123
 
124
  literary_style_str = ""
125
  if literary_style != LITERARY_STYLE_DEFAULT:
126
- if literary_style == "Poetry":
 
 
127
  literary_style_str = "as a poem, "
128
  elif literary_style == "Haiku":
129
  literary_style_str = "as a haiku, "
@@ -137,18 +142,20 @@ def transform_text(desc, express_chain, num_words, formality,
137
  formatted_prompt = PROMPT_TEMPLATE.format(
138
  original_words=desc,
139
  num_words=num_words_prompt,
140
- formality=formality,
141
  emotions=emotions_str,
142
  translate_to=translate_to_str,
143
  literary_style=literary_style_str
144
  )
145
 
146
- if express_chain:
 
147
  generated_text = express_chain.run(
148
- {'original_words': desc, 'num_words': num_words_prompt, 'formality': formality,
149
  'emotions': emotions_str, 'translate_to': translate_to_str,
150
  'literary_style': literary_style_str}).strip()
151
  else:
 
152
  generated_text = desc
153
 
154
  # replace all newlines with <br> in generated_text
@@ -163,14 +170,18 @@ def transform_text(desc, express_chain, num_words, formality,
163
 
164
 
165
  def load_chain(tools_list, llm):
166
- print("tools_list", tools_list)
167
- tool_names = tools_list
168
- tools = load_tools(tool_names, llm=llm, news_api_key=news_api_key, tmdb_bearer_token=tmdb_bearer_token)
 
 
 
 
 
169
 
170
- memory = ConversationBufferMemory(memory_key="chat_history")
171
- chain = initialize_agent(tools, llm, agent="conversational-react-description", verbose=True, memory=memory)
172
 
173
- express_chain = LLMChain(llm=llm, prompt=PROMPT_TEMPLATE, verbose=True)
174
  return chain, express_chain
175
 
176
 
@@ -379,7 +390,8 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
379
  outputs=[tools_list_state, llm_state, chain_state, express_chain_state])
380
 
381
  with gr.Accordion("Formality", open=False):
382
- formality_radio = gr.Radio(label="Formality:", choices=["Casual", "Polite", "Honorific"],
 
383
  value=FORMALITY_DEFAULT)
384
  formality_radio.change(update_foo,
385
  inputs=[formality_radio, formality_state],
@@ -388,13 +400,14 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
388
  with gr.Accordion("Translate to", open=False):
389
  translate_to_radio = gr.Radio(label="Translate to:", choices=[
390
  TRANSLATE_TO_DEFAULT, "Arabic", "British English", "Chinese (Simplified)", "Chinese (Traditional)",
391
- "Czech", "Danish", "Dutch", "emojis", "English", "Finnish", "French", "Gen Z slang", "German",
392
- "Greek",
393
- "Hebrew", "Hindi", "Hungarian", "Indonesian", "Italian", "Japanese",
394
- "how the stereotypical Karen would say it",
395
- "Klingon", "Korean", "Norwegian", "Old English", "Pirate", "Polish", "Portuguese", "Romanian",
396
- "Russian", "Spanish", "Strange Planet expospeak technical talk", "Swedish", "Thai", "Turkish",
397
- "Vietnamese", "Yoda"], value=TRANSLATE_TO_DEFAULT)
 
398
 
399
  translate_to_radio.change(update_foo,
400
  inputs=[translate_to_radio, translate_to_state],
 
36
 
37
  # Pertains to Express-inator functionality
38
  NUM_WORDS_DEFAULT = 0
39
+ FORMALITY_DEFAULT = "N/A"
40
  TEMPERATURE_DEFAULT = 0.5
41
  EMOTION_DEFAULT = "N/A"
42
+ TRANSLATE_TO_DEFAULT = "N/A"
43
+ LITERARY_STYLE_DEFAULT = "N/A"
44
  PROMPT_TEMPLATE = PromptTemplate(
45
  input_variables=["original_words", "num_words", "formality", "emotions", "translate_to", "literary_style"],
46
+ template="Express {num_words}{formality}{emotions}{translate_to}{literary_style}the following: \n{original_words}\n",
 
47
  )
48
 
49
 
 
90
  disgust_level = disgust_level.lower()
91
  anger_level = anger_level.lower()
92
 
93
+ formality_str = ""
94
+ if formality != "n/a":
95
+ formality_str = "in a " + formality + " manner, "
96
+
97
  # put all emotions into a list
98
  emotions = []
99
  if anticipation_level != "n/a":
 
126
 
127
  literary_style_str = ""
128
  if literary_style != LITERARY_STYLE_DEFAULT:
129
+ if literary_style == "Prose":
130
+ literary_style_str = "as prose, "
131
+ elif literary_style == "Poetry":
132
  literary_style_str = "as a poem, "
133
  elif literary_style == "Haiku":
134
  literary_style_str = "as a haiku, "
 
142
  formatted_prompt = PROMPT_TEMPLATE.format(
143
  original_words=desc,
144
  num_words=num_words_prompt,
145
+ formality=formality_str,
146
  emotions=emotions_str,
147
  translate_to=translate_to_str,
148
  literary_style=literary_style_str
149
  )
150
 
151
+ trans_instr = num_words_prompt + formality_str + emotions_str + translate_to_str + literary_style_str
152
+ if express_chain and len(trans_instr.strip()) > 0:
153
  generated_text = express_chain.run(
154
+ {'original_words': desc, 'num_words': num_words_prompt, 'formality': formality_str,
155
  'emotions': emotions_str, 'translate_to': translate_to_str,
156
  'literary_style': literary_style_str}).strip()
157
  else:
158
+ print("Not transforming text")
159
  generated_text = desc
160
 
161
  # replace all newlines with <br> in generated_text
 
170
 
171
 
172
  def load_chain(tools_list, llm):
173
+ chain = None
174
+ express_chain = None
175
+ if llm:
176
+ print("tools_list", tools_list)
177
+ tool_names = tools_list
178
+ tools = load_tools(tool_names, llm=llm, news_api_key=news_api_key, tmdb_bearer_token=tmdb_bearer_token)
179
+
180
+ memory = ConversationBufferMemory(memory_key="chat_history")
181
 
182
+ chain = initialize_agent(tools, llm, agent="conversational-react-description", verbose=True, memory=memory)
183
+ express_chain = LLMChain(llm=llm, prompt=PROMPT_TEMPLATE, verbose=True)
184
 
 
185
  return chain, express_chain
186
 
187
 
 
390
  outputs=[tools_list_state, llm_state, chain_state, express_chain_state])
391
 
392
  with gr.Accordion("Formality", open=False):
393
+ formality_radio = gr.Radio(label="Formality:",
394
+ choices=[FORMALITY_DEFAULT, "Casual", "Polite", "Honorific"],
395
  value=FORMALITY_DEFAULT)
396
  formality_radio.change(update_foo,
397
  inputs=[formality_radio, formality_state],
 
400
  with gr.Accordion("Translate to", open=False):
401
  translate_to_radio = gr.Radio(label="Translate to:", choices=[
402
  TRANSLATE_TO_DEFAULT, "Arabic", "British English", "Chinese (Simplified)", "Chinese (Traditional)",
403
+ "Czech", "Danish", "Dutch", "English", "Finnish", "French", "German",
404
+ "Greek", "Hebrew", "Hindi", "Hungarian", "Indonesian", "Italian", "Japanese",
405
+ "Korean", "Norwegian", "Old English", "Polish", "Portuguese", "Romanian",
406
+ "Russian", "Spanish", "Swedish", "Thai", "Turkish",
407
+ "Vietnamese",
408
+ "emojis", "Gen Z slang", "how the stereotypical Karen would say it", "Klingon",
409
+ "Pirate", "Strange Planet expospeak technical talk", "Yoda"],
410
+ value=TRANSLATE_TO_DEFAULT)
411
 
412
  translate_to_radio.change(update_foo,
413
  inputs=[translate_to_radio, translate_to_state],
videos/tempfile.mp4 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8e63731c852c94446300c69716f5ac456bd715ddb52396125344ba1d60bfd77d
3
- size 62
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a49fbfb0c40c95dc70681d340a3f79b505582f388f04f07f84fb5addd3d91451
3
+ size 199945