jaothan's picture
Upload 356 files
c33a7ce verified
include ../common/Makefile.common
TARGET_MODELS_IMAGE ?= $(BOOTC_MODELS_IMAGE)
FROM_BOOTC_IMAGE ?= $(BOOTC_IMAGE)
GRANITE_MODEL_REPO ?= instructlab/granite-7b-lab
HF_TOKEN ?= $(shell echo $$HF_TOKEN)
BUILD_MODELS_PATH := $(shell realpath ..)/build/models
COMMON_PATH := $(shell realpath ../common)
MODEL_REPO ?=
default: download
.PHONY: image
image:
"${CONTAINER_TOOL}" build \
--file Containerfile \
--tag $(REGISTRY)/$(REGISTRY_ORG)/model-downloader:latest \
${CONTAINER_TOOL_EXTRA_ARGS} .
.PHONY: download-all
download-all: image
$(MAKE) MODEL_REPO=$(GRANITE_MODEL_REPO) download-model
.PHONY: download-model
download-model:
mkdir -p $(BUILD_MODELS_PATH)
podman run \
-e HF_TOKEN=$(HF_TOKEN) \
-v $(BUILD_MODELS_PATH):/download:z \
--pull=never \
-e MODEL_REPO=$(MODEL_REPO) \
-t $(REGISTRY)/$(REGISTRY_ORG)/model-downloader:latest
.PHONY: generate-model-cfile
generate-model-cfile: download-all
echo "FROM ${FROM_BOOTC_IMAGE}" > ${MODELS_CONTAINERFILE}
echo "RUN rsync -ah --progress --exclude '.hug*' --exclude '*.safetensors' /run/.input/models /usr/share" >> ${MODELS_CONTAINERFILE}
"${CONTAINER_TOOL}" run \
-v .:/work:z \
-v ${OUTDIR}:/run/.input:ro \
--pull=never \
--entrypoint python3 \
$(REGISTRY)/$(REGISTRY_ORG)/model-downloader:latest \
/work/generate-model-cfile.py /run/.input/models >> ${MODELS_CONTAINERFILE}
.PHONY: bootc-models
bootc-models: generate-model-cfile
"${CONTAINER_TOOL}" build \
$(ARCH:%=--platform linux/%) \
--file ${MODELS_CONTAINERFILE} \
--security-opt label=disable \
--tag "${TARGET_MODELS_IMAGE}" \
-v ${OUTDIR}:/run/.input:ro