Spaces:
Runtime error
Runtime error
File size: 2,168 Bytes
bd3e2e4 3b38860 bd3e2e4 d4b5f92 bd3e2e4 82f0eab 97e9b74 82f0eab d4b5f92 82f0eab bd3e2e4 97e9b74 d4b5f92 97e9b74 bd3e2e4 d4b5f92 82f0eab d4b5f92 bd3e2e4 d4b5f92 3b38860 bd3e2e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
import gradio as gr
from faster_whisper import WhisperModel
model = WhisperModel("tiny")
def generate_response(
language_level, buddy_personality,
language_choice, user_query_audio,
chatbot_history
):
# Convert input audio to text
language_codes = {'English':'en',
'Spanish':'es',
'Japanese':'ja'}
user_query_transcribed_segments, info = model.transcribe(
audio=user_query_audio,
language=language_codes[language_choice]
)
user_query_transcribed = list(user_query_transcribed_segments)[0].text.strip()
user_message = 'User: ' + user_query_transcribed
# Ask llm for response to text
bot_message = 'Bot: ' + user_query_transcribed
chatbot_history.append((user_query_transcribed, bot_message))
# Convert llm response to audio
# Return None to reset user input audio and
# llm response + user inputs in chatbot_history object to be displayed
return None, chatbot_history
with gr.Blocks() as demo:
header_section = gr.Markdown(
"""
# AI Language Buddy!
Click the **converse** button to practice your language skills!
""")
language = gr.Dropdown(
choices=['English', 'Spanish', 'Japanese'],
label='Language Choice',
value='English'
)
language_level = gr.Dropdown(
choices=['Beginner', 'Intermediate', 'Advanced'],
label='Language Level',
value='Beginner'
)
personality = gr.Dropdown(
choices=['Formal Teacher', 'Flirty Friend', 'Sarcastic Bro'],
label='Language Buddy Personality',
value='Flirty Friend'
)
chatbot = gr.Chatbot()
user_input = gr.Audio(
sources='microphone',
show_download_button=True,
type='filepath'
)
converse_button = gr.Button("Send Message")
clear_button = gr.Button("Clear Convo History")
converse_button.click(
fn=generate_response,
inputs=[
language_level, personality,
language, user_input,
chatbot
],
outputs=[user_input, chatbot]
)
demo.launch() |