| import gradio as gr |
| from gtts import gTTS |
| from io import BytesIO |
| import IPython.display as ipd |
|
|
| |
| codellama_model = gr.Interface.load("models/meta-llama/CodeLlama-7b-Python-hf") |
| deepseek_model = gr.Interface.load("models/deepseek-ai/deepseek-coder-1.3b-instruct") |
|
|
| def process_text_codellama(input_text): |
| return codellama_model.predict(input_text) |
|
|
| def process_speech_codellama(audio): |
| response = codellama_model.predict(audio) |
| tts = gTTS(text=response, lang='en') |
| fp = BytesIO() |
| tts.write_to_fp(fp) |
| fp.seek(0) |
| return ipd.Audio(fp.read(), autoplay=True) |
|
|
| def process_text_deepseek(input_text): |
| return deepseek_model.predict(input_text) |
|
|
| def process_speech_deepseek(audio): |
| response = deepseek_model.predict(audio) |
| tts = gTTS(text=response, lang='en') |
| fp = BytesIO() |
| tts.write_to_fp(fp) |
| fp.seek(0) |
| return ipd.Audio(fp.read(), autoplay=True) |
|
|
| def main(input_text): |
| if input_text[1]: |
| return process_text_deepseek(input_text[0]), process_speech_deepseek(input_text[0]) |
| else: |
| return process_text_codellama(input_text[0]), process_speech_codellama(input_text[0]) |
|
|
| gr.Interface( |
| fn=main, |
| inputs=["text", "checkbox"], |
| outputs=["text", "audio"], |
| live=True |
| ).launch() |
|
|