| """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 | |
| 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, | |
| ) | |