Spaces:
Paused
Paused
Update translator.py
Browse files- translator.py +12 -8
translator.py
CHANGED
|
@@ -33,13 +33,13 @@ MAX_LENGTH = 512
|
|
| 33 |
|
| 34 |
class Translator:
|
| 35 |
def __init__(self):
|
| 36 |
-
self._pipeline
|
| 37 |
-
self._tokenizer
|
| 38 |
-
self._model
|
| 39 |
-
|
| 40 |
-
#
|
| 41 |
-
|
| 42 |
-
print("[Translator] Ready")
|
| 43 |
|
| 44 |
# ββ Public ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 45 |
def translate(self, text: str, src_lang: str, tgt_lang: str):
|
|
@@ -53,6 +53,10 @@ class Translator:
|
|
| 53 |
if src_lang == tgt_lang:
|
| 54 |
return text, "skipped (same language)"
|
| 55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
if self._pipeline is not None or self._model is not None:
|
| 57 |
try:
|
| 58 |
return self._translate_nllb(text, src_lang, tgt_lang)
|
|
@@ -148,4 +152,4 @@ class Translator:
|
|
| 148 |
return translated, "Google Translate (fallback)"
|
| 149 |
except Exception as e:
|
| 150 |
logger.error(f"[Translator] Google fallback also failed: {e}")
|
| 151 |
-
return f"[Translation failed: {str(e)}]", "error"
|
|
|
|
| 33 |
|
| 34 |
class Translator:
|
| 35 |
def __init__(self):
|
| 36 |
+
self._pipeline = None
|
| 37 |
+
self._tokenizer = None
|
| 38 |
+
self._model = None
|
| 39 |
+
self._nllb_loaded = False
|
| 40 |
+
# β
LAZY LOAD: Don't load 2.5GB model on startup
|
| 41 |
+
# Loads automatically on first translation request instead
|
| 42 |
+
print("[Translator] Ready (NLLB loads on first use)")
|
| 43 |
|
| 44 |
# ββ Public ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 45 |
def translate(self, text: str, src_lang: str, tgt_lang: str):
|
|
|
|
| 53 |
if src_lang == tgt_lang:
|
| 54 |
return text, "skipped (same language)"
|
| 55 |
|
| 56 |
+
if not self._nllb_loaded:
|
| 57 |
+
self._init_nllb()
|
| 58 |
+
self._nllb_loaded = True
|
| 59 |
+
|
| 60 |
if self._pipeline is not None or self._model is not None:
|
| 61 |
try:
|
| 62 |
return self._translate_nllb(text, src_lang, tgt_lang)
|
|
|
|
| 152 |
return translated, "Google Translate (fallback)"
|
| 153 |
except Exception as e:
|
| 154 |
logger.error(f"[Translator] Google fallback also failed: {e}")
|
| 155 |
+
return f"[Translation failed: {str(e)}]", "error"
|