Spaces:
Running
Running
""" | |
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 | |