import os
from huggingface_hub import hf_hub_download

os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"

models = [
    # 먼저 용량이 작은 Gemma4 26B 부터 다운로드
    ("ggml-org/gemma-4-26B-A4B-it-GGUF", "gemma-4-26B-A4B-it-Q4_K_M.gguf"),
    # 다음 Qwen 35B
    ("unsloth/Qwen3.5-35B-A3B-GGUF", "Qwen3.5-35B-A3B-Q4_K_M.gguf"),
    # 마지막으로 122B (분할 압축되어 있음)
    ("unsloth/Qwen3.5-122B-A10B-GGUF", "Q4_K_M/Qwen3.5-122B-A10B-Q4_K_M-00001-of-00003.gguf"),
    ("unsloth/Qwen3.5-122B-A10B-GGUF", "Q4_K_M/Qwen3.5-122B-A10B-Q4_K_M-00002-of-00003.gguf"),
    ("unsloth/Qwen3.5-122B-A10B-GGUF", "Q4_K_M/Qwen3.5-122B-A10B-Q4_K_M-00003-of-00003.gguf")
]

print("=== 고속 다운로더 시작 (huggingface_hub & hf_transfer) ===")
os.makedirs("models", exist_ok=True)

for repo, filename in models:
    print(f"\n>>> 다운로드 중 (백그라운드 진행): [{repo}] 의 [{filename}]...")
    try:
        path = hf_hub_download(
            repo_id=repo, 
            filename=filename, 
            local_dir="./models", 
            local_dir_use_symlinks=False
        )
        print(f"완료: {path}")
    except Exception as e:
        print(f"다운로드 실패: {e}")

print("\n모든 다운로드 프로세스가 종료되었습니다.")
