multimodal_module / brain_lazy.py
Princeaka's picture
Create brain_lazy.py
8ee354b verified
raw
history blame
1.81 kB
"""
brain_lazy.py
Lazy loader for multimodular_modul_v7
- Avoids Hugging Face runtime startup timeout
- Loads brain in background while API/CLI starts instantly
"""
import os
import importlib
import threading
import time
# ------------------------------
# Persistent storage cache setup
# ------------------------------
os.environ["TRANSFORMERS_CACHE"] = "/home/user/app/cache"
os.environ["HF_HOME"] = "/home/user/app/cache"
os.makedirs("/home/user/app/cache", exist_ok=True)
# ------------------------------
# Brain loader
# ------------------------------
_brain = None
_is_loading = False
_is_ready = False
_lock = threading.Lock()
def _load_brain():
global _brain, _is_ready, _is_loading
with _lock:
if _brain is None:
_is_loading = True
print("⏳ Loading multimodular brain (lazy mode)...")
start_time = time.time()
_brain = importlib.import_module("multimodular_modul_v7")
_is_ready = True
_is_loading = False
print(f"βœ… Brain loaded in {time.time() - start_time:.2f} seconds.")
return _brain
def preload_in_background():
threading.Thread(target=_load_brain, daemon=True).start()
# Start background preload at import
preload_in_background()
# ------------------------------
# Proxy functions
# ------------------------------
def process_input(text): return _load_brain().process_input(text)
def search_kb(query): return _load_brain().search_kb(query)
def upload_media(path): return _load_brain().upload_media(path)
def backup_brain(): return _load_brain().backup_brain()
def restore_brain(): return _load_brain().restore_brain()
def show_creative_skills(): return _load_brain().show_creative_skills()
def sync_status(): return _load_brain().sync_status()
def is_ready(): return _is_ready