Spaces:
Sleeping
Sleeping
File size: 1,441 Bytes
044b795 7dcdeb1 044b795 7dcdeb1 |
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 |
import gradio as gr
from transformers import pipeline
# Create a translation pipeline
model_name = "facebook/nllb-200-1.3B"
translator = pipeline("translation", model=model_name)
# Define available languages
languages = {
"English": "eng_Latn",
"French": "fra_Latn",
"Spanish": "spa_Latn",
"German": "deu_Latn",
"Chinese": "zho_Hans",
"Arabic": "ara_Arab",
"Russian": "rus_Cyrl",
"Hindi": "hin_Deva",
"Japanese": "jpn_Jpan"
}
def translate(text, source_lang, target_lang):
if not text:
return ""
source_code = languages.get(source_lang)
target_code = languages.get(target_lang)
# NLLB requires specific format for translation
translation = translator(
text,
src_lang=source_code,
tgt_lang=target_code,
max_length=400
)
return translation[0]["translation_text"]
# Create the Gradio interface
demo = gr.Interface(
fn=translate,
inputs=[
gr.Textbox(label="Input Text", lines=5),
gr.Dropdown(list(languages.keys()), label="Source Language", value="English"),
gr.Dropdown(list(languages.keys()), label="Target Language", value="French")
],
outputs=gr.Textbox(label="Translated Text", lines=5),
title="NLLB-200 Multilingual Translation",
description="Translate text between multiple languages using Facebook's NLLB-200 model."
)
if __name__ == "__main__":
demo.launch() |