现在这个报错,本质是 Bert-VITS2 在启动时自动从 HuggingFace 下载日文 DeBERTa 模型,但国内连 huggingface.co 超时

D:\Code\Github\Bert-VITS2\.venv\Lib\site-packages\huggingface_hub\utils\_validators.py:206: UserWarning: The `local_dir_use_symlinks` argument is deprecated and ignored in `hf_hub_download`. Downloading to a local directory does not use symlinks anymore.
  warnings.warn(
'[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。' thrown while requesting HEAD https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm/resolve/main/pytorch_model.bin
| huggingface_hub.utils._http | WARNING | '[WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。' thrown while requesting HEAD https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm/resolve/main/pytorch_model.bin
Retrying in 1s [Retry 1/5].
| huggingface_hub.utils._http | WARNING | Retrying in 1s [Retry 1/5].
......

解决思路有两个:

  1. 让 Python 自动走国内镜像下载(推荐,一劳永逸)
  2. 手动从镜像下载好模型,放到本地缓存,以后就不联网了。
    下面是一个可以直接照做的步骤。

一句话结论

在 Windows 上先设置一个环境变量 HF_ENDPOINT,让 huggingface_hub 自动从国内镜像站 https://hf-mirror.com 下载模型,然后再跑 webui.py,就不会再卡在 ku-nlp/deberta-v2-large-japanese-char-wwm 这个请求上了。


方案一:让 Python 自动用镜像站(推荐)

1. 在当前终端里临时设置环境变量

你现在是用:

C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py

可以在同一个 PowerShell / cmd 里先执行:

# PowerShell
$env:HF_ENDPOINT = "https://hf-mirror.com"

然后再运行你的启动命令:

C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py

这样所有 huggingface_hub 的请求都会自动走镜像站,不会再连 huggingface.co


2. 想一劳永逸:写入系统环境变量(永久生效)

如果你不想每次开终端都敲 $env:HF_ENDPOINT,可以把它永久写进用户环境变量:

  1. Win + R → 输入 SystemPropertiesAdvanced → 回车。
  2. 点击“环境变量”。
  3. 在“用户变量”里,点击“新建”:
    • 变量名:HF_ENDPOINT
    • 变量值:https://hf-mirror.com
  4. 一路确定,关闭所有窗口。
  5. 重新打开一个终端,跑你的 webui.py 命令。
    这样以后所有使用 huggingface_hub / transformers 的项目都会默认走镜像站。

方案二:手动从镜像下载模型到本地缓存

如果你这台机器完全不能连外网,也可以在能上网的机器上把模型下好,再拷贝过来。

1. 在有网的机器上用镜像下载

在有网的机器上(比如你自己平时开发的那台):

# 1. 设置镜像
$env:HF_ENDPOINT = "https://hf-mirror.com"
# 2. 安装 huggingface_hub(如果没有)
pip install -U huggingface_hub
# 3. 下载指定模型到当前目录
huggingface-cli download --resume-download ku-nlp/deberta-v2-large-japanese-char-wwm --local-dir deberta-v2-large-japanese-char-wwm

这会在当前目录生成一个 deberta-v2-large-japanese-char-wwm 文件夹,里面就是所有模型文件。


2. 把模型放到离线机器的 HuggingFace 缓存目录

huggingface_hub 默认缓存路径是:

  • 类 Unix:~/.cache/huggingface/hub
  • Windows:C:\Users\<你的用户名>\.cache\huggingface\hub
    假设你在离线机器上的缓存目录是:
C:\Users\TianFeng\.cache\huggingface\hub

你需要把刚才下载的模型文件夹拷贝成这个结构:

C:\Users\TianFeng\.cache\huggingface\hub\models--ku-nlp--deberta-v2-large-japanese-char-wwm\...

更具体的结构大致是:

C:\Users\TianFeng\.cache\huggingface\hub\
└── models--ku-nlp--deberta-v2-large-japanese-char-wwm\
    ├── blobs\
    ├── refs\
    └── snapshots\
        └── <某个提交哈希>\
            └── pytorch_model.bin

huggingface-cli download 生成的是可直接作为缓存的目录结构,你只要保证:

  1. 缓存根目录是 C:\Users\TianFeng\.cache\huggingface\hub
  2. 模型目录名是 models--ku-nlp--deberta-v2-large-japanese-char-wwm
    这样本地运行时,transformers / huggingface_hub 会直接从缓存加载,不会再发网络请求。

小结:推荐做法

最终建议:

  1. 先用方案一:设置 HF_ENDPOINT 镜像,直接在当前终端跑:
    $env:HF_ENDPOINT = "https://hf-mirror.com"
    C:\Users\TianFeng\.local\bin\uv.exe run D:/Code/Github/Bert-VITS2/.venv/Scripts/python.exe D:\Code\Github\Bert-VITS2\webui.py
    
  2. 如果公司/学校网络策略很严,镜像也连不上,再用 方案二:在能上网的机器上下载模型 → 拷贝到离线机器的缓存目录
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐