extonlawrence commited on
Commit
faac46c
·
1 Parent(s): d76577d

Add persistent model storage for HF spaces

Browse files
Files changed (1) hide show
  1. entrypoint.sh +10 -7
entrypoint.sh CHANGED
@@ -16,7 +16,11 @@ fi;
16
 
17
  # Start Ollama service for HF space (local gpu)
18
  echo "Starting local Ollama service"
19
- nohup ollama serve > /tmp/ollama.log 2>&1 &
 
 
 
 
20
  OLLAMA_PID=$!
21
 
22
  # Wait for Ollama to be ready
@@ -32,15 +36,14 @@ until curl -s http://localhost:11434/api/tags > /dev/null 2>&1; do
32
  sleep 2
33
  done
34
 
35
- # Pull models, ex.: OLLAMA_MODELS="llama3.1:8b,mistral:7b,codellama:13b"
36
  OLLAMA_MODELS=${OLLAMA_MODELS:-llama3.1:8b}
37
-
38
  IFS=',' read -ra MODEL_ARRAY <<< "$OLLAMA_MODELS"
39
  for MODEL in "${MODEL_ARRAY[@]}"; do
40
- MODEL=$(echo "$MODEL" | xargs) # trim whitespace
41
- if ! ollama list | grep -q "$MODEL"; then
42
  echo " Pulling model: $MODEL (this may take several minutes)..."
43
- ollama pull "$MODEL"
44
  echo " $MODEL pulled successfully!"
45
  else
46
  echo " $MODEL already exists"
@@ -49,4 +52,4 @@ done
49
 
50
  export PUBLIC_VERSION=$(node -p "require('./package.json').version")
51
 
52
- dotenv -e /app/.env -c -- node /app/build/index.js -- --host 0.0.0.0 --port 3000
 
16
 
17
  # Start Ollama service for HF space (local gpu)
18
  echo "Starting local Ollama service"
19
+
20
+ # Ensure dir for persistent model storage
21
+ mkdir -p /data/models
22
+
23
+ nohup env OLLAMA_MODELS=/data/models ollama serve > /tmp/ollama.log 2>&1 &
24
  OLLAMA_PID=$!
25
 
26
  # Wait for Ollama to be ready
 
36
  sleep 2
37
  done
38
 
39
+ # Pull models
40
  OLLAMA_MODELS=${OLLAMA_MODELS:-llama3.1:8b}
 
41
  IFS=',' read -ra MODEL_ARRAY <<< "$OLLAMA_MODELS"
42
  for MODEL in "${MODEL_ARRAY[@]}"; do
43
+ MODEL=$(echo "$MODEL" | xargs)
44
+ if ! env OLLAMA_MODELS=/data/models ollama list | grep -q "$MODEL"; then
45
  echo " Pulling model: $MODEL (this may take several minutes)..."
46
+ env OLLAMA_MODELS=/data/models ollama pull "$MODEL"
47
  echo " $MODEL pulled successfully!"
48
  else
49
  echo " $MODEL already exists"
 
52
 
53
  export PUBLIC_VERSION=$(node -p "require('./package.json').version")
54
 
55
+ dotenv -e /app/.env -c -- node /app/build/index.js -- --host 0.0.0.0 --port 3000