Spaces:
Running on Zero
Running on Zero
| #!/usr/bin/env python3 | |
| """Download the configured GGUF model from Hugging Face Hub for offline dev.""" | |
| from __future__ import annotations | |
| import argparse | |
| import os | |
| from pathlib import Path | |
| from huggingface_hub import hf_hub_download | |
| def main() -> None: | |
| parser = argparse.ArgumentParser(description=__doc__) | |
| parser.add_argument( | |
| "--repo", | |
| default=os.environ.get("MODEL_REPO", "Qwen/Qwen2.5-3B-Instruct-GGUF"), | |
| help="Hugging Face repo containing the GGUF file", | |
| ) | |
| parser.add_argument( | |
| "--file", | |
| default=os.environ.get("MODEL_FILE", "qwen2.5-3b-instruct-q4_k_m.gguf"), | |
| help="GGUF filename inside the repo", | |
| ) | |
| parser.add_argument( | |
| "--output-dir", | |
| type=Path, | |
| default=Path("models"), | |
| help="Directory to copy/symlink the downloaded model into", | |
| ) | |
| args = parser.parse_args() | |
| args.output_dir.mkdir(parents=True, exist_ok=True) | |
| path = hf_hub_download( | |
| repo_id=args.repo, | |
| filename=args.file, | |
| local_dir=args.output_dir, | |
| local_dir_use_symlinks=False, | |
| ) | |
| print(f"Model ready at: {path}") | |
| print(f"Set MODEL_PATH={path} to use this file directly.") | |
| if __name__ == "__main__": | |
| main() | |