testingfaces commited on
Commit
02dd2f8
Β·
verified Β·
1 Parent(s): b14d6e4

Update translator.py

Browse files
Files changed (1) hide show
  1. 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 = None
37
- self._tokenizer = None
38
- self._model = None
39
- # βœ… FIX: _init_nllb() was never called before β€” NLLB always silently
40
- # fell through to Google Translate. Now it loads properly.
41
- self._init_nllb()
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"