Razzaqi3143 commited on
Commit
c711678
1 Parent(s): c1749de

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
+
4
+ # Dictionary to hold models and tokenizers for each language
5
+ models = {}
6
+ tokenizers = {}
7
+
8
+ # List of language pairs
9
+ language_pairs = {
10
+ "English to French": "Helsinki-NLP/opus-mt-en-fr",
11
+ "English to Chinese": "Helsinki-NLP/opus-mt-en-zh",
12
+ "English to German": "Helsinki-NLP/opus-mt-en-de",
13
+ "English to Urdu": "Helsinki-NLP/opus-mt-en-ur"
14
+ }
15
+
16
+ # Load models and tokenizers for each language pair
17
+ for lang, model_name in language_pairs.items():
18
+ tokenizers[lang] = AutoTokenizer.from_pretrained(model_name)
19
+ models[lang] = AutoModelForSeq2SeqLM.from_pretrained(model_name)
20
+
21
+ # Function to perform translation
22
+ def translate_text(text, language_choice):
23
+ # Select the appropriate tokenizer and model based on the chosen language
24
+ tokenizer = tokenizers[language_choice]
25
+ model = models[language_choice]
26
+
27
+ # Tokenize the input text
28
+ inputs = tokenizer(text, return_tensors="pt", truncation=True)
29
+
30
+ # Generate the translation
31
+ outputs = model.generate(**inputs)
32
+
33
+ # Decode the translated text
34
+ translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
35
+
36
+ return translated_text
37
+
38
+ # Define the Gradio interface
39
+ def gradio_interface(text, language_choice):
40
+ translated_text = translate_text(text, language_choice)
41
+ return translated_text
42
+
43
+ # Create a list of language choices for the dropdown
44
+ language_choices = list(language_pairs.keys())
45
+
46
+ # Set up the Gradio app
47
+ interface = gr.Interface(
48
+ fn=gradio_interface,
49
+ inputs=[gr.Textbox(lines=2, placeholder="Enter text here..."),
50
+ gr.Dropdown(choices=language_choices, label="Select Target Language")],
51
+ outputs=gr.Textbox(label="Translated Text"),
52
+ title="Multi-Language Translation App"
53
+ )
54
+
55
+ # Launch the app
56
+ interface.launch()