gimmy256 commited on
Commit
7dcdeb1
·
verified ·
1 Parent(s): dbadbb3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -4
app.py CHANGED
@@ -1,6 +1,52 @@
1
  import gradio as gr
 
2
 
3
- gr.load(
4
- "models/facebook/nllb-200-1.3B",
5
- provider="hf-inference",
6
- ).launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ from transformers import pipeline
3
 
4
+ # Create a translation pipeline
5
+ model_name = "facebook/nllb-200-1.3B"
6
+ translator = pipeline("translation", model=model_name)
7
+
8
+ # Define available languages
9
+ languages = {
10
+ "English": "eng_Latn",
11
+ "French": "fra_Latn",
12
+ "Spanish": "spa_Latn",
13
+ "German": "deu_Latn",
14
+ "Chinese": "zho_Hans",
15
+ "Arabic": "ara_Arab",
16
+ "Russian": "rus_Cyrl",
17
+ "Hindi": "hin_Deva",
18
+ "Japanese": "jpn_Jpan"
19
+ }
20
+
21
+ def translate(text, source_lang, target_lang):
22
+ if not text:
23
+ return ""
24
+
25
+ source_code = languages.get(source_lang)
26
+ target_code = languages.get(target_lang)
27
+
28
+ # NLLB requires specific format for translation
29
+ translation = translator(
30
+ text,
31
+ src_lang=source_code,
32
+ tgt_lang=target_code,
33
+ max_length=400
34
+ )
35
+
36
+ return translation[0]["translation_text"]
37
+
38
+ # Create the Gradio interface
39
+ demo = gr.Interface(
40
+ fn=translate,
41
+ inputs=[
42
+ gr.Textbox(label="Input Text", lines=5),
43
+ gr.Dropdown(list(languages.keys()), label="Source Language", value="English"),
44
+ gr.Dropdown(list(languages.keys()), label="Target Language", value="French")
45
+ ],
46
+ outputs=gr.Textbox(label="Translated Text", lines=5),
47
+ title="NLLB-200 Multilingual Translation",
48
+ description="Translate text between multiple languages using Facebook's NLLB-200 model."
49
+ )
50
+
51
+ if __name__ == "__main__":
52
+ demo.launch()