uzzam2121
Fix model dir to /home/user/model
9ea8d9d
Raw
History Blame Contribute Delete
1.66 kB
"""
Download exported model from Hugging Face Hub before API startup.
Set Space secret / env:
HF_MODEL_REPO=your-username/deberta-complexity-lcp
MODEL_PATH=/app/model
"""
from __future__ import annotations
import os
import sys
from pathlib import Path
def main() -> None:
repo = os.environ.get("HF_MODEL_REPO", "").strip()
target = Path(os.environ.get("MODEL_PATH", "/home/user/model"))
if not repo:
print("HF_MODEL_REPO not set — expecting model_weights.pt already on disk.")
weights = target / "model_weights.pt"
if weights.exists():
print(f"Found {weights}")
else:
print(f"WARN: no weights at {weights}", file=sys.stderr)
return
weights = target / "model_weights.pt"
if weights.exists():
print(f"Model already present at {weights}")
return
print(f"Downloading {repo}{target}")
from huggingface_hub import snapshot_download
token = os.environ.get("HF_TOKEN") or os.environ.get("HUGGING_FACE_HUB_TOKEN")
target.mkdir(parents=True, exist_ok=True)
snapshot_download(
repo_id=repo,
local_dir=str(target),
token=token,
allow_patterns=[
"model_weights.pt",
"config.json",
"tokenizer/*",
"*.json",
],
)
if not weights.exists():
raise FileNotFoundError(
f"Download finished but {weights} missing. "
f"Upload model with: python deploy/huggingface/upload_model_to_hub.py"
)
print(f"Ready: {weights} ({weights.stat().st_size / 1e6:.1f} MB)")
if __name__ == "__main__":
main()