Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -15,8 +15,8 @@ non_empty_isos = df.slice(1).filter(pl.col("ISO639-1") != "").rows()
|
|
| 15 |
all_langs = {iso[0]: (iso[1], iso[2], iso[3]) for iso in non_empty_isos} # {'Romanian': ('ro', 'rum', 'ron')}
|
| 16 |
|
| 17 |
# Language options as list, add favourite languages first
|
| 18 |
-
|
| 19 |
-
|
| 20 |
|
| 21 |
models = ["Helsinki-NLP",
|
| 22 |
"Helsinki-NLP/opus-mt-tc-bible-big-mul-mul", "Helsinki-NLP/opus-mt-tc-bible-big-mul-deu_eng_nld",
|
|
@@ -35,6 +35,7 @@ models = ["Helsinki-NLP",
|
|
| 35 |
"Unbabel/Tower-Plus-2B", "Unbabel/TowerInstruct-7B-v0.2", "Unbabel/TowerInstruct-Mistral-7B-v0.2",
|
| 36 |
"openGPT-X/Teuken-7B-instruct-commercial-v0.4", "openGPT-X/Teuken-7B-instruct-v0.6"
|
| 37 |
]
|
|
|
|
| 38 |
|
| 39 |
def model_to_cuda(model):
|
| 40 |
# Move the model to GPU if available
|
|
@@ -472,7 +473,7 @@ def translate_text(input_text: str, s_language: str, t_language: str, model_name
|
|
| 472 |
def swap_languages(src_lang, tgt_lang):
|
| 473 |
return tgt_lang, src_lang
|
| 474 |
|
| 475 |
-
def get_info(model_name, sl=None, tl=None):
|
| 476 |
helsinki = '### [Helsinki-NLP](https://huggingface.co/Helsinki-NLP "Helsinki-NLP")'
|
| 477 |
if model_name == "Helsinki-NLP" and sl is not None and tl is not None:
|
| 478 |
response = requests.get(f'https://huggingface.co/{model_name}/opus-mt-{sl}-{tl}/raw/main/README.md').text
|
|
@@ -493,8 +494,8 @@ def create_interface():
|
|
| 493 |
input_text = gr.Textbox(label="Enter text to translate:", placeholder="Type your text here, maximum 512 tokens")
|
| 494 |
|
| 495 |
with gr.Row(variant="compact"):
|
| 496 |
-
s_language = gr.Dropdown(choices=
|
| 497 |
-
t_language = gr.Dropdown(choices=
|
| 498 |
swap_btn = gr.Button("Swap Languages", size="md", scale=1)
|
| 499 |
swap_btn.click(fn=swap_languages, inputs=[s_language, t_language], outputs=[s_language, t_language], api_name=False, show_api=False)
|
| 500 |
|
|
@@ -506,7 +507,7 @@ def create_interface():
|
|
| 506 |
message_text = gr.Textbox(label="Messages:", placeholder="Display field for status and error messages", interactive=False,
|
| 507 |
value=f'Default translation settings: from {s_language.value} to {t_language.value} with {model_name.value}.')
|
| 508 |
allmodels = gr.HTML(label="Model links:", value=', '.join([f'<a href="https://huggingface.co/{model}">{model}</a>' for model in models]))
|
| 509 |
-
model_info = gr.Markdown(label="Model info:", value=get_info(
|
| 510 |
model_name.change(fn=get_info, inputs=[model_name, s_language, t_language], outputs=model_info, api_name=False, show_api=False)
|
| 511 |
|
| 512 |
translate_btn.click(
|
|
|
|
| 15 |
all_langs = {iso[0]: (iso[1], iso[2], iso[3]) for iso in non_empty_isos} # {'Romanian': ('ro', 'rum', 'ron')}
|
| 16 |
|
| 17 |
# Language options as list, add favourite languages first
|
| 18 |
+
langs = list(favourite_langs.keys())
|
| 19 |
+
langs.extend(list(all_langs.keys()))
|
| 20 |
|
| 21 |
models = ["Helsinki-NLP",
|
| 22 |
"Helsinki-NLP/opus-mt-tc-bible-big-mul-mul", "Helsinki-NLP/opus-mt-tc-bible-big-mul-deu_eng_nld",
|
|
|
|
| 35 |
"Unbabel/Tower-Plus-2B", "Unbabel/TowerInstruct-7B-v0.2", "Unbabel/TowerInstruct-Mistral-7B-v0.2",
|
| 36 |
"openGPT-X/Teuken-7B-instruct-commercial-v0.4", "openGPT-X/Teuken-7B-instruct-v0.6"
|
| 37 |
]
|
| 38 |
+
DEFAULTS = [langs[0], langs[1], models[0]]
|
| 39 |
|
| 40 |
def model_to_cuda(model):
|
| 41 |
# Move the model to GPU if available
|
|
|
|
| 473 |
def swap_languages(src_lang, tgt_lang):
|
| 474 |
return tgt_lang, src_lang
|
| 475 |
|
| 476 |
+
def get_info(model_name: str, sl: str = None, tl: str = None):
|
| 477 |
helsinki = '### [Helsinki-NLP](https://huggingface.co/Helsinki-NLP "Helsinki-NLP")'
|
| 478 |
if model_name == "Helsinki-NLP" and sl is not None and tl is not None:
|
| 479 |
response = requests.get(f'https://huggingface.co/{model_name}/opus-mt-{sl}-{tl}/raw/main/README.md').text
|
|
|
|
| 494 |
input_text = gr.Textbox(label="Enter text to translate:", placeholder="Type your text here, maximum 512 tokens")
|
| 495 |
|
| 496 |
with gr.Row(variant="compact"):
|
| 497 |
+
s_language = gr.Dropdown(choices=langs, value = DEFAULTS[0], label="Source language", interactive=True, scale=3)
|
| 498 |
+
t_language = gr.Dropdown(choices=langs, value = DEFAULTS[1], label="Target language", interactive=True, scale=3)
|
| 499 |
swap_btn = gr.Button("Swap Languages", size="md", scale=1)
|
| 500 |
swap_btn.click(fn=swap_languages, inputs=[s_language, t_language], outputs=[s_language, t_language], api_name=False, show_api=False)
|
| 501 |
|
|
|
|
| 507 |
message_text = gr.Textbox(label="Messages:", placeholder="Display field for status and error messages", interactive=False,
|
| 508 |
value=f'Default translation settings: from {s_language.value} to {t_language.value} with {model_name.value}.')
|
| 509 |
allmodels = gr.HTML(label="Model links:", value=', '.join([f'<a href="https://huggingface.co/{model}">{model}</a>' for model in models]))
|
| 510 |
+
model_info = gr.Markdown(label="Model info:", value=get_info(DEFAULTS[2]), show_copy_button=True)
|
| 511 |
model_name.change(fn=get_info, inputs=[model_name, s_language, t_language], outputs=model_info, api_name=False, show_api=False)
|
| 512 |
|
| 513 |
translate_btn.click(
|