Windows 下 llama-cli 直连 Hugging Face 报 SSL 证书验证失败怎么办

整理 llama-cli 在 Windows 下通过 -hf 下载 Hugging Face 模型时遇到 SSL 证书验证失败的常见原因和处理方法。

如果你在 Windows 下运行下面这条命令:

1
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF

并看到类似报错:

1
2
get_repo_commit: error: HTTPLIB failed: SSL server verification failed
error: failed to download model from Hugging Face

通常不是 CUDA 或 llama.cpp 本身有问题,而是程序在当前环境里没有正确拿到系统证书链,导致 HTTPS 校验失败。

从报错来看,ggml-rpc.dllggml-cpu-alderlake.dll 都已经正常加载,说明运行环境本身大体可用,问题主要集中在模型下载阶段。

最省事的办法:先手动下载模型

如果你只是想尽快跑起来,本地手动下载通常最稳。

  1. 打开对应的 Hugging Face 仓库页面。
  2. Files and versions 里下载需要的 .gguf 文件。
  3. 下载完成后,直接用本地文件路径运行:
1
llama-cli -m C:\Users\knightli\Downloads\gemma-4-e4b-it.gguf

这样可以绕过 -hf 下载阶段的 SSL 校验问题,适合先验证模型能不能正常推理。

如果还想继续用 -hf 自动下载

可以手动指定证书文件路径,让程序在当前会话里找到可用的 CA 证书。

cacert.pem 可以从 curl 官方维护的 CA Extract 页面获取:

如果用浏览器下载,打开上面的直接下载地址后保存为 cacert.pem 即可。也可以在 PowerShell 里下载到固定目录,例如:

1
2
New-Item -ItemType Directory -Force C:\certs
Invoke-WebRequest -Uri https://curl.se/ca/cacert.pem -OutFile C:\certs\cacert.pem

下载完成后,在命令行里设置:

1
2
set SSL_CERT_FILE=C:\certs\cacert.pem
set CURL_CA_BUNDLE=C:\certs\cacert.pem

再重新执行原命令:

1
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF

如果问题确实来自证书链,这种方式通常能直接解决。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计