Spaces:
Sleeping
Sleeping
# Set environment variables for optimization | |
export OMP_NUM_THREADS=4 | |
export MKL_NUM_THREADS=4 | |
export CUDA_VISIBLE_DEVICES=0 | |
# Start Ollama in the background | |
ollama serve & | |
# Pull the model if not already present | |
if ! ollama list | grep -q "llama3.2:latest"; then | |
ollama pull llama3.2:latest | |
fi | |
# Pull the model if not already present | |
if ! ollama list | grep -q "mistral:latest"; then | |
ollama pull mistral:latest | |
fi | |
# Wait for Ollama to start up | |
max_attempts=30 | |
attempt=0 | |
while ! curl -s http://localhost:11434/api/tags >/dev/null; do | |
sleep 1 | |
attempt=$((attempt + 1)) | |
if [ $attempt -eq $max_attempts ]; then | |
echo "Ollama failed to start within 30 seconds. Exiting." | |
exit 1 | |
fi | |
done | |
echo "Ollama is ready." | |
# Print the API URL | |
echo "API is running on: http://0.0.0.0:7860" | |
# Start the FastAPI server | |
uvicorn app:app --host 0.0.0.0 --port 7860 --workers 4 --limit-concurrency 20 |