You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Hugging Face模型时遇SSL证书验证失败问题求助

解决Hugging Face Transformers加载模型时的SSL证书验证失败问题

问题场景

运行以下test.py脚本:

from transformers import AutoTokenizer

checkpoint = "kevinscaria/joint_tk-instruct-base-def-pos-neg-neut-combined"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

触发SSL证书验证错误:

requests.exceptions.SSLError:
(MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443):
Max retries exceeded with url:
/kevinscaria/joint_tk-instruct-base-def-pos-neg-neut-combined/resolve/main/tokenizer_config.json
(Caused by SSLError(SSLCertVerificationError(1, '[SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed
certificate in certificate chain (_ssl.c:1000)'))"), '(Request ID:
2d2eb919-ddf8-4e5d-b0fc-b0ab1f666251)')

已在pip配置中添加huggingface.co为可信主机,但问题仍存在:

>pip config list
global.trusted-host='pypi.org files.pythonhosted.org pypi.python.org huggingface.co'

解决方案

1. 临时绕过SSL验证(仅测试环境使用)

在加载tokenizer时添加verify=False参数,直接跳过证书验证:

from transformers import AutoTokenizer

checkpoint = "kevinscaria/joint_tk-instruct-base-def-pos-neg-neut-combined"
tokenizer = AutoTokenizer.from_pretrained(checkpoint, verify=False)

⚠️ 注意:该方法存在安全风险,禁止在生产环境使用。

2. 更新系统根证书

新电脑可能缺少验证huggingface.co证书所需的根证书,按系统类型操作:

  • Windows:打开「控制面板」→「Internet选项」→「内容」→「证书」→「受信任的根证书颁发机构」,导入最新的DigiCert全球根证书;或通过Windows更新安装证书补丁。
  • macOS:打开「钥匙串访问」,选择「系统」→「证书」,导入缺失的根证书;若使用官方Python,运行/Applications/Python 3.x/Install Certificates.command脚本(替换3.x为你的Python版本)。
  • Linux:通过包管理器重新安装证书包,例如:
    # Ubuntu/Debian
    sudo apt update && sudo apt install --reinstall ca-certificates
    # CentOS/RHEL
    sudo yum reinstall ca-certificates
    

3. 通过环境变量全局跳过Hugging Face SSL验证

运行脚本前设置环境变量:

# Linux/macOS 终端
export HF_INSECURE_MODE=1
# Windows CMD
set HF_INSECURE_MODE=1
# Windows PowerShell
$env:HF_INSECURE_MODE=1

设置完成后再执行python test.py。

4. 检查并配置代理/VPN

若新电脑开启了代理或VPN,可能会替换SSL证书为自签名证书:

  • 先尝试关闭代理/VPN后重新运行脚本,看是否恢复正常。
  • 若必须使用代理,可在代码中配置代理并指定代理证书路径:
    import requests
    from transformers import AutoTokenizer
    
    # 替换为你的代理地址
    proxies = {"https": "http://your-proxy-ip:port"}
    session = requests.Session()
    session.proxies = proxies
    # 替换为代理自签名证书的本地路径
    session.verify = "/path/to/proxy-cert.pem"
    
    checkpoint = "kevinscaria/joint_tk-instruct-base-def-pos-neg-neut-combined"
    tokenizer = AutoTokenizer.from_pretrained(checkpoint, session=session)
    

内容的提问来源于stack exchange,提问作者zest16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 08:48:22