TiberiuCristianLeon commited on
Commit
7c74c7e
·
verified ·
1 Parent(s): d2b6f9c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +102 -0
app.py CHANGED
@@ -383,6 +383,108 @@ def wingpt(model_name, sl, tl, input_text):
383
  result = rawresult.split('\n')[-1].strip() if '\n' in rawresult else rawresult.strip()
384
  return result
385
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  # App layout
387
  st.header("Text Machine Translation")
388
  input_text = st.text_input("Enter text to translate:")
 
383
  result = rawresult.split('\n')[-1].strip() if '\n' in rawresult else rawresult.strip()
384
  return result
385
 
386
+ @spaces.GPU
387
+ def translate_text(input_text: str, s_language: str, t_language: str, model_name: str) -> tuple[str, str]:
388
+ """
389
+ Translates the input text from the source language to the target language using a specified model.
390
+
391
+ Parameters:
392
+ input_text (str): The source text to be translated
393
+ s_language (str): The source language of the input text
394
+ t_language (str): The target language in which the input text is translated
395
+ model_name (str): The selected translation model name
396
+
397
+ Returns:
398
+ tuple:
399
+ translated_text(str): The input text translated to the selected target language
400
+ message_text(str): A descriptive message summarizing the translation process. Example: "Translated from English to German with Helsinki-NLP."
401
+
402
+ Example:
403
+ >>> translate_text("Hello world", "English", "German", "Helsinki-NLP")
404
+ ("Hallo Welt", "Translated from English to German with Helsinki-NLP.")
405
+ """
406
+
407
+ sl = all_langs[s_language][0]
408
+ tl = all_langs[t_language][0]
409
+ message_text = f'Translated from {s_language} to {t_language} with {model_name}'
410
+ translated_text = None
411
+ try:
412
+ if "-mul" in model_name.lower() or "mul-" in model_name.lower() or "-roa" in model_name.lower():
413
+ translated_text, message_text = Translators(model_name, sl, tl, input_text).HelsinkiNLP_mulroa()
414
+
415
+ elif model_name == "Helsinki-NLP":
416
+ translated_text, message_text = Translators(model_name, sl, tl, input_text).HelsinkiNLP()
417
+
418
+ elif model_name == 'Argos':
419
+ translated_text = Translators(model_name, sl, tl, input_text).argos()
420
+
421
+ elif model_name == 'Google':
422
+ translated_text = Translators(model_name, sl, tl, input_text).google()
423
+
424
+ elif "m2m" in model_name.lower():
425
+ translated_text = Translators(model_name, sl, tl, input_text).mtom()
426
+
427
+ elif "lego" in model_name.lower():
428
+ translated_text = Translators(model_name, sl, tl, input_text).LegoMT()
429
+
430
+ elif model_name.startswith('t5'):
431
+ translated_text = Translators(model_name, s_language, t_language, input_text).tfive()
432
+
433
+ elif 'flan' in model_name.lower():
434
+ translated_text = Translators(model_name, s_language, t_language, input_text).flan()
435
+
436
+ elif 'madlad' in model_name.lower():
437
+ translated_text = Translators(model_name, sl, tl, input_text).madlad()
438
+
439
+ elif 'mt0' in model_name.lower():
440
+ translated_text = Translators(model_name, s_language, t_language, input_text).bigscience()
441
+
442
+ elif 'bloomz' in model_name.lower():
443
+ translated_text = Translators(model_name, s_language, t_language, input_text).bloomz()
444
+
445
+ elif 'nllb' in model_name.lower():
446
+ nnlbsl, nnlbtl = languagecodes.nllb_language_codes[s_language], languagecodes.nllb_language_codes[t_language]
447
+ translated_text = Translators(model_name, nnlbsl, nnlbtl, input_text).nllb()
448
+
449
+ elif model_name == "facebook/mbart-large-50-many-to-many-mmt":
450
+ translated_text = Translators(model_name, s_language, t_language, input_text).mbart_many_to_many()
451
+
452
+ elif model_name == "facebook/mbart-large-50-one-to-many-mmt":
453
+ translated_text = Translators(model_name, s_language, t_language, input_text).mbart_one_to_many()
454
+
455
+ elif model_name == "facebook/mbart-large-50-many-to-one-mmt":
456
+ translated_text = Translators(model_name, s_language, t_language, input_text).mbart_many_to_one()
457
+
458
+ elif 'teuken' in model_name.lower():
459
+ translated_text = Translators(model_name, s_language, t_language, input_text).teuken()
460
+
461
+ elif model_name == "utter-project/EuroLLM-1.7B-Instruct":
462
+ translated_text = Translators(model_name, s_language, t_language, input_text).eurollm_instruct()
463
+
464
+ elif model_name == "utter-project/EuroLLM-1.7B":
465
+ translated_text = Translators(model_name, s_language, t_language, input_text).eurollm()
466
+
467
+ elif 'Unbabel' in model_name:
468
+ translated_text = Translators(model_name, s_language, t_language, input_text).unbabel()
469
+
470
+ elif model_name == "HuggingFaceTB/SmolLM3-3B":
471
+ translated_text = Translators(model_name, s_language, t_language, input_text).smollm()
472
+
473
+ elif model_name == "winninghealth/WiNGPT-Babel-2":
474
+ translated_text = Translators(model_name, s_language, t_language, input_text).wingpt()
475
+
476
+ elif "LLaMAX" in model_name:
477
+ translated_text = Translators(model_name, s_language, t_language, input_text).LLaMAX()
478
+
479
+ elif model_name == "Bergamot":
480
+ translated_text, message_text = Translators(model_name, s_language, t_language, input_text).bergamot()
481
+
482
+ except Exception as error:
483
+ translated_text = error
484
+ finally:
485
+ print(input_text, translated_text, message_text)
486
+ return translated_text, message_text
487
+
488
  # App layout
489
  st.header("Text Machine Translation")
490
  input_text = st.text_input("Enter text to translate:")