Update app.py
Browse files
app.py
CHANGED
@@ -59,14 +59,21 @@ LANGUAGES = {
|
|
59 |
|
60 |
# Function to get the appropriate translation model and tokenizer
|
61 |
def get_translation_model(source_lang, target_lang):
|
|
|
62 |
model_name = f"Helsinki-NLP/opus-mt-{source_lang}-{target_lang}"
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
65 |
return model, tokenizer
|
66 |
|
67 |
# Function to translate text
|
68 |
def translate_text(text, source_lang, target_lang):
|
69 |
model, tokenizer = get_translation_model(source_lang, target_lang)
|
|
|
|
|
70 |
inputs = tokenizer([text], return_tensors="pt", truncation=True)
|
71 |
translated_ids = model.generate(inputs['input_ids'], max_length=1024)
|
72 |
translated_text = tokenizer.decode(translated_ids[0], skip_special_tokens=True)
|
|
|
59 |
|
60 |
# Function to get the appropriate translation model and tokenizer
|
61 |
def get_translation_model(source_lang, target_lang):
|
62 |
+
# Use a generic model for translation if specific model is not available
|
63 |
model_name = f"Helsinki-NLP/opus-mt-{source_lang}-{target_lang}"
|
64 |
+
try:
|
65 |
+
model = MarianMTModel.from_pretrained(model_name)
|
66 |
+
tokenizer = MarianTokenizer.from_pretrained(model_name)
|
67 |
+
except OSError:
|
68 |
+
st.error(f"Model '{model_name}' not found. Please check the model name or use another language pair.")
|
69 |
+
return None, None
|
70 |
return model, tokenizer
|
71 |
|
72 |
# Function to translate text
|
73 |
def translate_text(text, source_lang, target_lang):
|
74 |
model, tokenizer = get_translation_model(source_lang, target_lang)
|
75 |
+
if model is None or tokenizer is None:
|
76 |
+
return ""
|
77 |
inputs = tokenizer([text], return_tensors="pt", truncation=True)
|
78 |
translated_ids = model.generate(inputs['input_ids'], max_length=1024)
|
79 |
translated_text = tokenizer.decode(translated_ids[0], skip_special_tokens=True)
|