TiberiuCristianLeon commited on
Commit
37ea4b9
·
verified ·
1 Parent(s): 9b5a331

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -6
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
- options = list(favourite_langs.keys())
19
- options.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,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=options, value = options[0], label="Source language", interactive=True, scale=3)
497
- t_language = gr.Dropdown(choices=options, value = options[1], label="Target language", interactive=True, scale=3)
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("Helsinki-NLP"), show_copy_button=True)
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(