DemahAlmutairi commited on
Commit
c6bc1d7
·
verified ·
1 Parent(s): 8aabefa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -30
app.py CHANGED
@@ -1,42 +1,31 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
- import torch
4
- # Project 1: Bilingual Story Generation
5
- english_story_generator = pipeline("text-generation", model="gpt2")
6
- arabic_story_generator = pipeline("text-generation", model="aubmindlab/arabert")
7
 
8
- def generate_story(prompt, language):
9
- if language == "English":
10
- return english_story_generator(prompt, max_length=200)[0]['generated_text']
11
- else: # Arabic
12
- return arabic_story_generator(prompt, max_length=200)[0]['generated_text']
13
 
14
- # Project 2: Bilingual Text-to-Speech
15
- english_tts = pipeline("text-to-speech", model="facebook/tts_transformer")
16
- arabic_tts = pipeline("text-to-speech", model="google/arabic_tts")
17
-
18
- def text_to_speech(text, language):
19
- if language == "English":
20
- audio = english_tts(text)
21
- else: # Arabic
22
- audio = arabic_tts(text)
23
- return audio
24
 
25
- # Gradio Interface
26
  with gr.Blocks() as demo:
 
27
  with gr.Row():
28
  language_choice = gr.Radio(choices=["English", "Arabic"], label="Select Language")
29
- prompt_input = gr.Textbox(label="Enter a story prompt")
30
- generate_button = gr.Button("Generate Story")
31
-
32
- story_output = gr.Textbox(label="Generated Story", interactive=False)
33
-
34
- generate_button.click(generate_story, inputs=[prompt_input, language_choice], outputs=story_output)
35
 
36
- tts_input = gr.Textbox(label="Paste your story for TTS")
37
- tts_button = gr.Button("Read Story Aloud")
38
- audio_output = gr.Audio(label="Audio Output", type="numpy")
39
 
40
- tts_button.click(text_to_speech, inputs=[tts_input, language_choice], outputs=audio_output)
41
 
 
42
  demo.launch()
 
1
  import gradio as gr
2
  from transformers import pipeline
 
 
 
 
3
 
4
+ # Load the multilingual model for text generation
5
+ model_name = "facebook/mbart-large-50-many-to-many-mmt"
6
+ text_generator = pipeline("text-generation", model=model_name)
 
 
7
 
8
+ def generate_text(prompt, language):
9
+ # Depending on the language, prepend a language token if needed
10
+ if language == "Arabic":
11
+ prompt = "<ar>" + prompt
12
+ else: # English
13
+ prompt = "<en>" + prompt
14
+
15
+ generated_text = text_generator(prompt, max_length=200, num_return_sequences=1)
16
+ return generated_text[0]['generated_text']
 
17
 
18
+ # Create the Gradio interface
19
  with gr.Blocks() as demo:
20
+ gr.Markdown("## Bilingual Text Generator")
21
  with gr.Row():
22
  language_choice = gr.Radio(choices=["English", "Arabic"], label="Select Language")
23
+ prompt_input = gr.Textbox(label="Enter your prompt", placeholder="Type your prompt here...")
24
+ generate_button = gr.Button("Generate Text")
 
 
 
 
25
 
26
+ output_text = gr.Textbox(label="Generated Text", interactive=False)
 
 
27
 
28
+ generate_button.click(generate_text, inputs=[prompt_input, language_choice], outputs=output_text)
29
 
30
+ # Launch the Gradio app
31
  demo.launch()