Files
Munich-news/scripts/setup-ollama-model.sh
2025-11-12 11:55:53 +01:00

58 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# Ollama Model Setup Script
# Checks if model exists and downloads if needed
set -e
MODEL="${OLLAMA_MODEL:-phi3:latest}"
echo "========================================"
echo "Ollama Model Setup"
echo "Target model: $MODEL"
echo "========================================"
echo ""
# Wait for Ollama to be ready
echo "Waiting for Ollama service..."
sleep 3
# Check if model exists
echo "Checking if model exists..."
MODELS=$(curl -s http://ollama:11434/api/tags 2>/dev/null || echo "")
if [ -z "$MODELS" ]; then
echo "⚠ Warning: Could not connect to Ollama"
echo "Attempting to pull model anyway..."
curl -X POST http://ollama:11434/api/pull -d "{\"name\":\"$MODEL\"}"
echo ""
echo "✓ Model pull initiated: $MODEL"
exit 0
fi
# Check if our model is in the list
if echo "$MODELS" | grep -q "\"$MODEL\""; then
echo "✓ Model already exists: $MODEL"
echo "Skipping download."
echo ""
echo "Available models:"
echo "$MODELS" | grep -o '"name":"[^"]*"' | cut -d'"' -f4 | sed 's/^/ - /'
else
echo "⬇ Model not found, downloading: $MODEL"
echo "This may take 2-10 minutes depending on model size..."
echo ""
# Pull the model
curl -X POST http://ollama:11434/api/pull -d "{\"name\":\"$MODEL\"}"
echo ""
echo "✓ Model download initiated: $MODEL"
echo ""
echo "Monitor progress with:"
echo " docker-compose logs -f ollama"
fi
echo ""
echo "========================================"
echo "Setup complete!"
echo "========================================"