| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							- # ## Downloading Llama 3.2 3B Instruct Model
 
- # This script uses a Modal Function to download the model into a cloud Volume.
 
- #
 
- # Run it with:
 
- #    modal run download
 
- import modal
 
- MODELS_DIR = "/llamas"
 
- DEFAULT_NAME = "meta-llama/Llama-3.2-3B-Instruct"
 
- MINUTES = 60
 
- HOURS = 60 * MINUTES
 
- # Create a modal Volume to store the model
 
- volume = modal.Volume.from_name("llamas", create_if_missing=True)
 
- # This defines the image to use for the modal function
 
- image = (
 
-     modal.Image.debian_slim(python_version="3.10")
 
-     .pip_install(
 
-         [
 
-             "huggingface_hub",  # download models from the Hugging Face Hub
 
-             "hf-transfer",  # download models faster with Rust
 
-         ]
 
-     )
 
-     .env({"HF_HUB_ENABLE_HF_TRANSFER": "1"})
 
- )
 
- # We run the function from a modal App, which will have our HF_SECRET env var set.
 
- # Add your HuggingFace secret access token here: https://modal.com/secrets
 
- # secret name: huggingface
 
- # env var name: HF_TOKEN
 
- app = modal.App(image=image, secrets=[modal.Secret.from_name("huggingface")])
 
- # This function will be ran in the cloud, with the volume mounted.
 
- @app.function(volumes={MODELS_DIR: volume}, timeout=4 * HOURS)
 
- def download_model(model_name, force_download=False):
 
-     from huggingface_hub import snapshot_download
 
-     volume.reload()
 
-     snapshot_download(
 
-         model_name,
 
-         local_dir=MODELS_DIR + "/" + model_name,
 
-         ignore_patterns=[
 
-             "*.pt",
 
-             "*.bin",
 
-             "*.pth",
 
-             "original/*",
 
-         ],  # Ensure safetensors
 
-         force_download=force_download,
 
-     )
 
-     volume.commit()
 
-     print("Model successfully downloaded")
 
- @app.local_entrypoint()
 
- def main(
 
-     model_name: str = DEFAULT_NAME,
 
-     force_download: bool = False,
 
- ):
 
-     download_model.remote(model_name, force_download)
 
 
  |