Dan Flower commited on
Commit
c8a274c
·
1 Parent(s): 2c3fbe4

deploy: add model/download_model.py to TemplateA; Dockerfile runs downloader

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -0
  2. model/download_model.py +21 -0
Dockerfile CHANGED
@@ -2,6 +2,10 @@ FROM python:3.9-slim
2
 
3
  ARG HF_TOKEN
4
  ENV HF_TOKEN=${HF_TOKEN}
 
 
 
 
5
 
6
  # cache-bust on demand
7
  ARG BUILD_ID=deploy-001
 
2
 
3
  ARG HF_TOKEN
4
  ENV HF_TOKEN=${HF_TOKEN}
5
+ ENV MODEL_REPO="TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF"
6
+ ENV MODEL_FILE="TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf"
7
+ ENV MODEL_DIR="/tmp/models"
8
+ ENV MODEL_PATH="/tmp/models/${MODEL_FILE}"
9
 
10
  # cache-bust on demand
11
  ARG BUILD_ID=deploy-001
model/download_model.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ import os, pathlib, sys
3
+ from huggingface_hub import hf_hub_download
4
+
5
+ MODEL_REPO = os.getenv("MODEL_REPO", "TheBloke/TinyLlama-1.1B-Chat-v1.0-GGUF")
6
+ MODEL_FILE = os.getenv("MODEL_FILE", "TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf")
7
+ MODEL_DIR = pathlib.Path(os.getenv("MODEL_DIR", "/tmp/models"))
8
+ MODEL_DIR.mkdir(parents=True, exist_ok=True)
9
+
10
+ print(f"[download] repo={MODEL_REPO} file={MODEL_FILE} -> {MODEL_DIR}", file=sys.stderr)
11
+ path = hf_hub_download(
12
+ repo_id=MODEL_REPO,
13
+ filename=MODEL_FILE,
14
+ local_dir=str(MODEL_DIR),
15
+ local_dir_use_symlinks=False,
16
+ token=os.getenv("HF_TOKEN") or None,
17
+ )
18
+ print(f"[download] saved: {path}", file=sys.stderr)
19
+
20
+ # Optional: write MODEL_PATH file for debugging
21
+ print(path, file=open(MODEL_DIR / "MODEL_PATH.txt", "w"))