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

离线环境使用tiktoken遇SSL证书验证失败,求代码解决方案

解决离线环境下tiktoken运行的SSL证书错误问题

问题根源

tiktoken调用get_encoding或encoding_for_model时,默认会尝试从在线源下载编码模型文件(如cl100k_base的相关文件)。离线环境下无法正常访问外部资源,加上内网自签名证书的影响,就会触发SSL验证失败的错误。

解决步骤

  • 步骤1:联网环境预下载编码文件
    在能联网的电脑上运行以下代码,触发tiktoken下载所需的编码文件:

    import tiktoken
    # 下载cl100k_base编码文件
    tiktoken.get_encoding("cl100k_base")
    # 下载gpt-3.5-turbo对应的编码文件(实际为cl100k_base)
    tiktoken.encoding_for_model("gpt-3.5-turbo")
    

    下载的文件默认存储路径:

    • Linux/macOS:~/.cache/tiktoken
    • Windows:C:\Users\<你的用户名>\AppData\Local\tiktoken
      找到目录下的cl100k_base.tiktoken及相关元数据文件。
  • 步骤2:复制文件到离线电脑
    在离线电脑上创建相同的tiktoken缓存目录(若不存在),将联网电脑下载的所有cl100k_base相关文件复制到该目录。

  • 步骤3:修改离线代码指定本地缓存
    在代码中设置缓存目录路径,避免tiktoken触发在线请求:

    import tiktoken
    import os
    
    # 替换为你放置编码文件的本地路径
    os.environ["TIKTOKEN_CACHE_DIR"] = "/path/to/local/tiktoken/cache"
    
    # 加载本地编码
    tokenizer = tiktoken.get_encoding("cl100k_base")
    # gpt-3.5-turbo基于cl100k_base,直接使用上述tokenizer即可
    # 也可保留encoding_for_model调用,此时会读取本地缓存
    # tokenizer = tiktoken.encoding_for_model("gpt-3.5-turbo")
    
    text = "Hello, nice to meet you"
    tokens = tokenizer.encode(text)
    print(f"Token数量: {len(tokens)}")
    
  • 步骤4:处理残留SSL验证问题(可选)
    若复制文件后仍出现SSL错误,可临时禁用SSL验证(仅在信任的内网环境使用):

    import tiktoken
    import ssl
    import os
    
    # 禁用SSL验证
    ssl._create_default_https_context = ssl._create_unverified_context
    
    os.environ["TIKTOKEN_CACHE_DIR"] = "/path/to/local/tiktoken/cache"
    
    tokenizer = tiktoken.get_encoding("cl100k_base")
    text = "Hello, nice to meet you"
    tokens = tokenizer.encode(text)
    print(f"Token数量: {len(tokens)}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:35:26