diff options
Diffstat (limited to 'src/llm_provision')
-rw-r--r-- | src/llm_provision/Dockerfile | 12 | ||||
-rw-r--r-- | src/llm_provision/entrypoint.sh | 4 | ||||
-rwxr-xr-x | src/llm_provision/init_models.sh | 17 |
3 files changed, 33 insertions, 0 deletions
diff --git a/src/llm_provision/Dockerfile b/src/llm_provision/Dockerfile new file mode 100644 index 0000000..77701fe --- /dev/null +++ b/src/llm_provision/Dockerfile @@ -0,0 +1,12 @@ +FROM debian:bookworm-slim + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update +RUN apt-get --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" install bash curl jq + +ADD ./src/llm_provision/init_models.sh /init_models.sh +ADD ./src/llm_provision/entrypoint.sh /entrypoint.sh +RUN chmod 755 /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] +#ENTRYPOINT ["tail", "-f", "/dev/null"] # to debug diff --git a/src/llm_provision/entrypoint.sh b/src/llm_provision/entrypoint.sh new file mode 100644 index 0000000..d0b6e85 --- /dev/null +++ b/src/llm_provision/entrypoint.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +echo "pull models into ollama volumes" +bash /init_models.sh diff --git a/src/llm_provision/init_models.sh b/src/llm_provision/init_models.sh new file mode 100755 index 0000000..0afbbd0 --- /dev/null +++ b/src/llm_provision/init_models.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +OLLAMA_HOST="http://ollama:11434" + +IFS=',' read -r -a models_arr <<< "${MODELS}" + +## now loop through the above array +for m in "${models_arr[@]}" +do + curl -s "${OLLAMA_HOST}/api/tags" | jq '.models[].name' | grep ${m} > /dev/null + if [[ $? -ne 0 ]] + then + curl -s "${OLLAMA_HOST}/api/pull" -d "{\"model\": \"${m}\"}" + else + echo "${m} already installed" + fi +done |