Spaces:
Running
Running
# download_model.py | |
# Utility script to download the Dia model and dependencies without starting the server. | |
import logging | |
import os | |
import engine # Import the engine module to trigger its loading logic | |
# Configure basic logging for the script | |
logging.basicConfig( | |
level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s" | |
) | |
logger = logging.getLogger("ModelDownloader") | |
if __name__ == "__main__": | |
logger.info("--- Starting Dia Model Download ---") | |
# Ensure cache directory exists (redundant if engine.load_model does it, but safe) | |
try: | |
from config import get_model_cache_path | |
cache_path = get_model_cache_path() | |
os.makedirs(cache_path, exist_ok=True) | |
logger.info( | |
f"Ensured model cache directory exists: {os.path.abspath(cache_path)}" | |
) | |
except Exception as e: | |
logger.warning(f"Could not ensure cache directory exists: {e}") | |
# Trigger the model loading function from the engine | |
logger.info("Calling engine.load_model() to initiate download if necessary...") | |
success = engine.load_model() | |
if success: | |
logger.info("--- Model download/load process completed successfully ---") | |
else: | |
logger.error( | |
"--- Model download/load process failed. Check logs for details. ---" | |
) | |
exit(1) # Exit with error code | |
logger.info("You can now start the server using 'python server.py'") | |