Spaces:
Sleeping
Sleeping
| set -euo pipefail | |
| export TEXT_MODEL_PROVIDER="${TEXT_MODEL_PROVIDER:-local}" | |
| export VISION_MODEL_PROVIDER="${VISION_MODEL_PROVIDER:-hf_inference}" | |
| export OMNI_MODEL_PROVIDER="${OMNI_MODEL_PROVIDER:-hf_inference}" | |
| export TTS_MODEL_PROVIDER="${TTS_MODEL_PROVIDER:-hf_inference}" | |
| export HARDWARE="${HARDWARE:-auto}" | |
| export MODEL_REPO="${MODEL_REPO:-openbmb/MiniCPM5-1B-GGUF}" | |
| export MODEL_FILE="${MODEL_FILE:-MiniCPM5-1B-Q4_K_M.gguf}" | |
| export MODEL_PORT="${MODEL_PORT:-8080}" | |
| export MODEL_PATH="${MODEL_PATH:-model/weights/${MODEL_FILE}}" | |
| export MODEL_BASE_URL="${MODEL_BASE_URL:-http://localhost:${MODEL_PORT}/v1}" | |
| export CTX="${CTX:-32768}" | |
| export TEXT_THINKING_MODE="${TEXT_THINKING_MODE:-true}" | |
| export HF_TEXT_MODEL="${HF_TEXT_MODEL:-openbmb/MiniCPM5-1B}" | |
| export HF_VISION_MODEL="${HF_VISION_MODEL:-openbmb/MiniCPM-V-4.6}" | |
| export HF_OMNI_MODEL="${HF_OMNI_MODEL:-openbmb/MiniCPM-o-4_5}" | |
| export HF_TTS_MODEL="${HF_TTS_MODEL:-openbmb/VoxCPM2}" | |
| if [ "${TEXT_MODEL_PROVIDER}" = "local" ]; then | |
| if [ ! -f "${MODEL_PATH}" ]; then | |
| echo "Downloading ${MODEL_FILE} from ${MODEL_REPO} ..." | |
| python model/download_model.py | |
| fi | |
| bash model/serve.sh & | |
| echo "Waiting for model server on :${MODEL_PORT} ..." | |
| until curl -sf "http://localhost:${MODEL_PORT}/health" >/dev/null 2>&1; do | |
| sleep 2 | |
| done | |
| echo "Model server ready." | |
| fi | |
| if [ "${UVICORN_RELOAD:-0}" = "1" ]; then | |
| exec uvicorn app.server:app --host 0.0.0.0 --port "${PORT:-7860}" --reload | |
| else | |
| exec uvicorn app.server:app --host 0.0.0.0 --port "${PORT:-7860}" | |
| fi | |