Files
Trading_Studio/scripts/download_chattts_models.sh
2026-06-12 15:16:27 +08:00

57 lines
1.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 预下载 ChatTTS 模型到本地(走 HuggingFace 镜像,不依赖 GitHub
# 用法: bash scripts/download_chattts_models.sh
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
MODEL_DIR="${CHATTTS_MODEL_DIR:-${ROOT}/models/ChatTTS}"
export MODEL_DIR
VENV_PY="${ROOT}/venv/bin/python"
export HF_ENDPOINT="${HF_ENDPOINT:-https://hf-mirror.com}"
export HF_HUB_DOWNLOAD_TIMEOUT="${HF_HUB_DOWNLOAD_TIMEOUT:-600}"
HF_HOME="${HF_HOME:-${ROOT}/models/hf_cache}"
echo "[INFO] ChatTTS 模型目录: ${MODEL_DIR}"
echo "[INFO] HF 镜像: ${HF_ENDPOINT}"
mkdir -p "${MODEL_DIR}" "${HF_HOME}"
if [[ ! -x "${VENV_PY}" ]]; then
echo "[ERROR] 未找到 venv,请先 bash deploy.sh deps"
exit 1
fi
"${VENV_PY}" -m pip install -q huggingface_hub
"${VENV_PY}" << PY
import os
from pathlib import Path
from huggingface_hub import snapshot_download
target = Path(os.environ["MODEL_DIR"])
target.mkdir(parents=True, exist_ok=True)
print("[INFO] 正在从 HuggingFace 镜像下载 2Noise/ChatTTS(约 1-2GB...")
snapshot_download(
repo_id="2Noise/ChatTTS",
local_dir=str(target),
local_dir_use_symlinks=False,
)
print("[OK] 下载完成:", target)
# 简单校验
checks = [
target / "asset",
target / "config" / "path.yaml",
]
ok = any(p.exists() for p in checks)
if not ok:
print("[WARN] 目录结构异常,请检查下载是否完整")
else:
print("[OK] 模型目录结构校验通过")
PY
echo ""
echo "[OK] 请执行: pm2 restart trading_studio"
echo " 然后重新点击「锁定音色」"