Krishna086 commited on
Commit
0b60e87
·
verified ·
1 Parent(s): 9878bca

Update translation.py

Browse files
Files changed (1) hide show
  1. translation.py +12 -8
translation.py CHANGED
@@ -20,16 +20,20 @@ def load_model(source_lang, target_lang):
20
  try:
21
  if source_lang == target_lang:
22
  return _load_default_model()
 
23
  model_name = f"Helsinki-NLP/opus-mt-{source_lang}-{target_lang}"
24
- tokenizer = MarianTokenizer.from_pretrained(model_name)
25
- model = MarianMTModel.from_pretrained(model_name)
26
- return tokenizer, model
 
 
 
 
 
 
 
 
27
  except Exception:
28
- # Pivot through English if direct model fails
29
- if source_lang != "en":
30
- return load_model("en", target_lang)
31
- elif target_lang != "en":
32
- return load_model(source_lang, "en")
33
  return _load_default_model()
34
 
35
  def translate(text, source_lang, target_lang):
 
20
  try:
21
  if source_lang == target_lang:
22
  return _load_default_model()
23
+ # Try direct model first
24
  model_name = f"Helsinki-NLP/opus-mt-{source_lang}-{target_lang}"
25
+ try:
26
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
27
+ model = MarianMTModel.from_pretrained(model_name)
28
+ return tokenizer, model
29
+ except Exception:
30
+ # Pivot through English for non-English pairs
31
+ if source_lang != "en" and target_lang != "en":
32
+ en_to_target = load_model("en", target_lang)
33
+ source_to_en = load_model(source_lang, "en")
34
+ return source_to_en if source_lang == "en" else en_to_target
35
+ return _load_default_model()
36
  except Exception:
 
 
 
 
 
37
  return _load_default_model()
38
 
39
  def translate(text, source_lang, target_lang):