aboutsummaryrefslogtreecommitdiffstats
path: root/src/llm_provision
diff options
context:
space:
mode:
authorben2025-01-12 14:37:13 +0100
committerben2025-01-12 14:37:13 +0100
commit778188ed95ccf50d2e21938bf5b542d76e066f63 (patch)
treee5138e638da98036e03cb11b2b0cf48fe4c590b2 /src/llm_provision
downloadai_env-778188ed95ccf50d2e21938bf5b542d76e066f63.tar.gz
ai_env-778188ed95ccf50d2e21938bf5b542d76e066f63.tar.bz2
ai_env-778188ed95ccf50d2e21938bf5b542d76e066f63.tar.xz
Initial commit, first public version.
Diffstat (limited to 'src/llm_provision')
-rw-r--r--src/llm_provision/Dockerfile12
-rw-r--r--src/llm_provision/entrypoint.sh4
-rwxr-xr-xsrc/llm_provision/init_models.sh17
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