|
#!/bin/bash |
|
|
|
|
|
echo "Starting Ollama service..." |
|
ollama serve > /app/ollama.log 2>&1 & |
|
|
|
|
|
echo "Waiting for Ollama service to start..." |
|
for i in {1..30}; do |
|
if curl -s http://127.0.0.1:11434/api/version > /dev/null; then |
|
echo "Ollama service is up!" |
|
break |
|
fi |
|
if [ $i -eq 30 ]; then |
|
echo "Timeout waiting for Ollama service" |
|
cat /app/ollama.log |
|
exit 1 |
|
fi |
|
echo "Waiting... ($i/30)" |
|
sleep 2 |
|
done |
|
|
|
|
|
echo "Checking model file..." |
|
if [ ! -f /app/model.gguf ]; then |
|
echo "Error: Model file not found!" |
|
exit 1 |
|
fi |
|
|
|
|
|
echo "Checking for llama3-zh model..." |
|
if ! ollama list | grep -q "llama3-zh"; then |
|
echo "Creating llama3-zh model..." |
|
ollama create llama3-zh -f /app/Modelfile |
|
if [ $? -ne 0 ]; then |
|
echo "Failed to create model" |
|
cat /app/ollama.log |
|
exit 1 |
|
fi |
|
echo "Model created successfully!" |
|
fi |
|
|
|
|
|
echo "Starting Gradio application..." |
|
exec python app.py |