File size: 1,288 Bytes
e53f10b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | """
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()
|