"""DreamLand - AI Dream RPG Engine. HF Spaces entry point.""" import os import logging logging.basicConfig(level=logging.INFO) # Sync data from HF Buckets on startup (if available) from core.persistence import sync_from_bucket sync_from_bucket() # ===== ZeroGPU: @spaces.GPU must be in app.py for startup detection ===== try: import spaces @spaces.GPU(duration=120) def gpu_generate(prompt: str, max_tokens: int = None) -> str: """Generate text using GPU. Detected by ZeroGPU at startup.""" from core.gpu_generate import _load_and_generate return _load_and_generate(prompt, max_tokens) except ImportError: # Local development fallback def gpu_generate(prompt: str, max_tokens: int = None) -> str: from core.gpu_generate import _load_and_generate return _load_and_generate(prompt, max_tokens) # Register the generate function globally so model_manager can find it import core.gpu_generate core.gpu_generate.gpu_generate = gpu_generate from ui.main import create_app app = create_app() if __name__ == "__main__": app.launch( server_name="0.0.0.0", server_port=int(os.environ.get("GRADIO_SERVER_PORT", "7860")), show_error=True, )