""" Download Qwen3-30B-A3B-Thinking-2507 to data/models/. """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from configs.paths import ensure_dirs, LOGS_DIR from configs.model import MODEL_CONFIG from src.utils import setup_logger def main(): ensure_dirs() log = setup_logger("01_download", LOGS_DIR / "01_download.log") local_dir = Path(MODEL_CONFIG["local_dir"]) hf_id = MODEL_CONFIG["hf_id"] log.info(f"Target: {local_dir}") log.info(f"Source: {hf_id}") if local_dir.exists() and any(local_dir.iterdir()): has_weights = any(p.suffix in [".bin", ".safetensors"] for p in local_dir.rglob("*")) if has_weights: log.info("Weights already present, skipping download.") return log.info("Directory exists but no weights found, proceeding...") local_dir.mkdir(parents=True, exist_ok=True) from huggingface_hub import snapshot_download log.info("Starting download (Qwen3-30B ~60GB, will take time)...") snapshot_download( repo_id=hf_id, local_dir=str(local_dir), local_dir_use_symlinks=False, resume_download=True, ) log.info(f"Download complete: {local_dir}") if __name__ == "__main__": main()