lyimo commited on
Commit
cffcfb8
·
1 Parent(s): 4c53b26

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -7
app.py CHANGED
@@ -4,7 +4,7 @@ import openai
4
  import gradio as gr
5
  import requests
6
  from gtts import gTTS
7
-
8
 
9
  openai.api_key = os.getenv("OPENAI_API_KEY")
10
 
@@ -50,16 +50,20 @@ def inference(text):
50
  tts.save(output_file)
51
  return output_file
52
 
53
- def process_audio_and_respond(audio):
54
- text = transcribe(audio)
55
- response_text = generate_response(text)
56
- output_file = inference(response_text)
 
57
  return response_text, output_file
58
 
59
  demo = gr.Interface(
60
  process_audio_and_respond,
61
  gr.inputs.Audio(source="microphone", type="filepath", label="Bonyeza kitufe cha kurekodi na uliza swali lako"),
62
- [gr.outputs.Textbox(label="Jibu (kwa njia ya maandishi)"), gr.outputs.Audio(type="filepath", label="Jibu kwa njia ya sauti (Bofya kusikiliza Jibu)")],
 
 
 
63
  title="Mtaalamu wa Viazi Lishe",
64
  description="Uliza Mtaalamu wetu swali lolote Kuhusu viazi Lishe",
65
  theme="compact",
@@ -68,4 +72,5 @@ demo = gr.Interface(
68
  live=True,
69
  )
70
 
71
- demo.launch()
 
 
4
  import gradio as gr
5
  import requests
6
  from gtts import gTTS
7
+ import asyncio # Import asyncio for the asynchronous functionality
8
 
9
  openai.api_key = os.getenv("OPENAI_API_KEY")
10
 
 
50
  tts.save(output_file)
51
  return output_file
52
 
53
+ # Here is the new function
54
+ async def process_audio_and_respond(audio):
55
+ text = await asyncio.to_thread(transcribe, audio)
56
+ response_text = await asyncio.to_thread(generate_response, text)
57
+ output_file = await asyncio.to_thread(inference, response_text)
58
  return response_text, output_file
59
 
60
  demo = gr.Interface(
61
  process_audio_and_respond,
62
  gr.inputs.Audio(source="microphone", type="filepath", label="Bonyeza kitufe cha kurekodi na uliza swali lako"),
63
+ [gr.outputs.TextOops, my previous message got cut off. Here's the rest of the code:
64
+
65
+
66
+ Textbox(label="Jibu (kwa njia ya maandishi)"), gr.outputs.Audio(type="filepath", label="Jibu kwa njia ya sauti (Bofya kusikiliza Jibu)")],
67
  title="Mtaalamu wa Viazi Lishe",
68
  description="Uliza Mtaalamu wetu swali lolote Kuhusu viazi Lishe",
69
  theme="compact",
 
72
  live=True,
73
  )
74
 
75
+ # Use asyncio.run to start the Gradio interface
76
+ asyncio.run(demo.launch())