From 778188ed95ccf50d2e21938bf5b542d76e066f63 Mon Sep 17 00:00:00 2001 From: ben Date: Sun, 12 Jan 2025 14:37:13 +0100 Subject: Initial commit, first public version. --- src/llm_provision/Dockerfile | 12 ++++++++++++ src/llm_provision/entrypoint.sh | 4 ++++ src/llm_provision/init_models.sh | 17 +++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/llm_provision/Dockerfile create mode 100644 src/llm_provision/entrypoint.sh create mode 100755 src/llm_provision/init_models.sh (limited to 'src/llm_provision') 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 -- cgit v1.2.3