JLW commited on
Commit
af10d98
·
1 Parent(s): 091de58

Make speaking text an option in the Settings tab

Browse files
Files changed (1) hide show
  1. app.py +20 -10
app.py CHANGED
@@ -228,7 +228,8 @@ def run_chain(chain, inp, capture_hidden_text):
228
  except AuthenticationError as ae:
229
  error_msg = AUTH_ERR_MSG
230
  except RateLimitError as rle:
231
- error_msg = "\n\nRateLimitError, " + str(rle) + "\n\nPlease see https://help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details for more information."
 
232
  except ValueError as ve:
233
  error_msg = "\n\nValueError, " + str(ve)
234
  except InvalidRequestError as ire:
@@ -280,14 +281,15 @@ def run_chain(chain, inp, capture_hidden_text):
280
 
281
  def chat(
282
  inp: str, history: Optional[Tuple[str, str]], chain: Optional[ConversationChain],
283
- trace_chain: bool, express_chain: Optional[LLMChain], num_words, formality, anticipation_level, joy_level,
284
- trust_level,
285
  fear_level, surprise_level, sadness_level, disgust_level, anger_level,
286
  translate_to, literary_style):
287
  """Execute the chat functionality."""
288
  print("\n==== date/time: " + str(datetime.datetime.now()) + " ====")
289
  print("inp: " + inp)
290
  print("trace_chain: ", trace_chain)
 
291
  history = history or []
292
  # If chain is None, that is because no API key was provided.
293
  output = "Please paste your OpenAI key to use this application."
@@ -306,7 +308,9 @@ def chat(
306
  history.append((inp, text_to_display))
307
 
308
  # html_video, temp_file = do_html_video_speak(output)
309
- html_audio, temp_aud_file = do_html_audio_speak(output, translate_to)
 
 
310
 
311
  # return history, history, html_video, temp_file, ""
312
  return history, history, html_audio, temp_aud_file, ""
@@ -400,6 +404,7 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
400
  express_chain_state = gr.State()
401
  tools_list_state = gr.State(TOOLS_DEFAULT_LIST)
402
  trace_chain_state = gr.State(False)
 
403
 
404
  # Pertains to Express-inator functionality
405
  num_words_state = gr.State(NUM_WORDS_DEFAULT)
@@ -463,7 +468,7 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
463
  inputs=message
464
  )
465
 
466
- with gr.Tab("Tools"):
467
  tools_cb_group = gr.CheckboxGroup(label="Tools:", choices=TOOLS_LIST,
468
  value=TOOLS_DEFAULT_LIST)
469
  tools_cb_group.change(update_selected_tools,
@@ -474,10 +479,14 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
474
  trace_chain_cb.change(update_foo, inputs=[trace_chain_cb, trace_chain_state],
475
  outputs=[trace_chain_state])
476
 
 
 
 
 
477
  with gr.Tab("Formality"):
478
  formality_radio = gr.Radio(label="Formality:",
479
- choices=[FORMALITY_DEFAULT, "Casual", "Polite", "Honorific"],
480
- value=FORMALITY_DEFAULT)
481
  formality_radio.change(update_foo,
482
  inputs=[formality_radio, formality_state],
483
  outputs=[formality_state])
@@ -500,7 +509,8 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
500
 
501
  with gr.Tab("Lit style"):
502
  literary_style_radio = gr.Radio(label="Literary style:", choices=[
503
- LITERARY_STYLE_DEFAULT, "Prose", "Summary", "Outline", "Bullets", "Poetry", "Haiku", "Limerick", "Joke", "Knock-knock"],
 
504
  value=LITERARY_STYLE_DEFAULT)
505
 
506
  literary_style_radio.change(update_foo,
@@ -579,7 +589,7 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
579
 
580
  gr.HTML("<center>Powered by <a href='https://github.com/hwchase17/langchain'>LangChain 🦜️🔗</a></center>")
581
 
582
- message.submit(chat, inputs=[message, history_state, chain_state, trace_chain_state,
583
  express_chain_state, num_words_state, formality_state,
584
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
585
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
@@ -587,7 +597,7 @@ with gr.Blocks(css=".gradio-container {background-color: lightgray}") as block:
587
  # outputs=[chatbot, history_state, video_html, my_file, message])
588
  outputs=[chatbot, history_state, audio_html, tmp_aud_file, message])
589
 
590
- submit.click(chat, inputs=[message, history_state, chain_state, trace_chain_state,
591
  express_chain_state, num_words_state, formality_state,
592
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
593
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
 
228
  except AuthenticationError as ae:
229
  error_msg = AUTH_ERR_MSG
230
  except RateLimitError as rle:
231
+ error_msg = "\n\nRateLimitError, " + str(
232
+ rle) + "\n\nPlease see https://help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details for more information."
233
  except ValueError as ve:
234
  error_msg = "\n\nValueError, " + str(ve)
235
  except InvalidRequestError as ire:
 
281
 
282
  def chat(
283
  inp: str, history: Optional[Tuple[str, str]], chain: Optional[ConversationChain],
284
+ trace_chain: bool, speak_text: bool, express_chain: Optional[LLMChain],
285
+ num_words, formality, anticipation_level, joy_level, trust_level,
286
  fear_level, surprise_level, sadness_level, disgust_level, anger_level,
287
  translate_to, literary_style):
288
  """Execute the chat functionality."""
289
  print("\n==== date/time: " + str(datetime.datetime.now()) + " ====")
290
  print("inp: " + inp)
291
  print("trace_chain: ", trace_chain)
292
+ print("speak_text: ", speak_text)
293
  history = history or []
294
  # If chain is None, that is because no API key was provided.
295
  output = "Please paste your OpenAI key to use this application."
 
308
  history.append((inp, text_to_display))
309
 
310
  # html_video, temp_file = do_html_video_speak(output)
311
+ html_audio, temp_aud_file = None, None
312
+ if speak_text:
313
+ html_audio, temp_aud_file = do_html_audio_speak(output, translate_to)
314
 
315
  # return history, history, html_video, temp_file, ""
316
  return history, history, html_audio, temp_aud_file, ""
 
404
  express_chain_state = gr.State()
405
  tools_list_state = gr.State(TOOLS_DEFAULT_LIST)
406
  trace_chain_state = gr.State(False)
407
+ speak_text_state = gr.State(False)
408
 
409
  # Pertains to Express-inator functionality
410
  num_words_state = gr.State(NUM_WORDS_DEFAULT)
 
468
  inputs=message
469
  )
470
 
471
+ with gr.Tab("Settings"):
472
  tools_cb_group = gr.CheckboxGroup(label="Tools:", choices=TOOLS_LIST,
473
  value=TOOLS_DEFAULT_LIST)
474
  tools_cb_group.change(update_selected_tools,
 
479
  trace_chain_cb.change(update_foo, inputs=[trace_chain_cb, trace_chain_state],
480
  outputs=[trace_chain_state])
481
 
482
+ speak_text_cb = gr.Checkbox(label="Speak text from agent", value=False)
483
+ speak_text_cb.change(update_foo, inputs=[speak_text_cb, speak_text_state],
484
+ outputs=[speak_text_state])
485
+
486
  with gr.Tab("Formality"):
487
  formality_radio = gr.Radio(label="Formality:",
488
+ choices=[FORMALITY_DEFAULT, "Casual", "Polite", "Honorific"],
489
+ value=FORMALITY_DEFAULT)
490
  formality_radio.change(update_foo,
491
  inputs=[formality_radio, formality_state],
492
  outputs=[formality_state])
 
509
 
510
  with gr.Tab("Lit style"):
511
  literary_style_radio = gr.Radio(label="Literary style:", choices=[
512
+ LITERARY_STYLE_DEFAULT, "Prose", "Summary", "Outline", "Bullets", "Poetry", "Haiku", "Limerick", "Joke",
513
+ "Knock-knock"],
514
  value=LITERARY_STYLE_DEFAULT)
515
 
516
  literary_style_radio.change(update_foo,
 
589
 
590
  gr.HTML("<center>Powered by <a href='https://github.com/hwchase17/langchain'>LangChain 🦜️🔗</a></center>")
591
 
592
+ message.submit(chat, inputs=[message, history_state, chain_state, trace_chain_state, speak_text_state,
593
  express_chain_state, num_words_state, formality_state,
594
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
595
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,
 
597
  # outputs=[chatbot, history_state, video_html, my_file, message])
598
  outputs=[chatbot, history_state, audio_html, tmp_aud_file, message])
599
 
600
+ submit.click(chat, inputs=[message, history_state, chain_state, trace_chain_state, speak_text_state,
601
  express_chain_state, num_words_state, formality_state,
602
  anticipation_level_state, joy_level_state, trust_level_state, fear_level_state,
603
  surprise_level_state, sadness_level_state, disgust_level_state, anger_level_state,