v2 / scripts /01_download_model.py
JulianHJR's picture
Upload folder using huggingface_hub
e53f10b verified
"""
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()