38 lines
965 B
Bash
38 lines
965 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# 自动获取脚本所在目录
|
|
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
VENV_DIR="${SCRIPT_DIR}/myvenv"
|
|
HOST_PORT="${HOST_PORT:-8902}"
|
|
|
|
# 激活虚拟环境
|
|
source "${VENV_DIR}/bin/activate"
|
|
|
|
# 检查端口占用
|
|
if lsof -i "tcp:${HOST_PORT}" -t >/dev/null 2>&1; then
|
|
echo "Port ${HOST_PORT} already in use" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Starting Genie TTS server on port ${HOST_PORT} ..."
|
|
|
|
# 进入脚本目录
|
|
cd "${SCRIPT_DIR}"
|
|
|
|
# 设置环境变量(和 vLLM 保持一致)
|
|
export MODELSCOPE_DOWNLOAD_MODE=local
|
|
export MODELSCOPE_HUB_ENABLE_FILE_CHECK=false
|
|
export MODELSCOPE_CACHE="${SCRIPT_DIR}/models"
|
|
export HF_HUB_OFFLINE=1
|
|
export TRANSFORMERS_OFFLINE=1
|
|
|
|
# 固定使用 GPU 0(多 GPU 服务器上所有模型共用一张卡)
|
|
export CUDA_VISIBLE_DEVICES=3
|
|
|
|
# 启动 FastAPI 服务,使用 4 个 worker 进程
|
|
uvicorn tts_server:app \
|
|
--host 0.0.0.0 \
|
|
--port "${HOST_PORT}" \
|
|
--workers 4
|