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

如何永久删除Huggingface中无用的NLLB缓存?

解决NLLB缓存反复生成的问题

1. 定位真实的缓存路径

Huggingface Transformers/Datasets的缓存路径不一定在默认的~/.cache/huggingface,可以通过以下方法确认:

  • 运行Python代码查看:
    from huggingface_hub import get_cache_dir
    print(get_cache_dir())
    
  • 查看环境变量(覆盖默认缓存位置的优先级更高):
    • Linux/macOS终端:echo $TRANSFORMERS_CACHE 或 echo $HF_HOME
    • Windows命令行:echo %TRANSFORMERS_CACHE% 或 echo %HF_HOME%

2. 彻底清理缓存

找到路径后,直接删除NLLB相关缓存目录:

  • Linux/macOS:rm -rf <找到的缓存路径>/hub/models--facebook--nllb-*
  • Windows:在文件资源管理器中找到对应文件夹右键删除,或用命令行:rmdir /s /q "<找到的缓存路径>\hub\models--facebook--nllb-*"

3. 阻止缓存自动生成

方法一:通过环境变量全局禁用

  • Linux/macOS:在~/.bashrc、~/.zshrc等配置文件中添加:
    export TRANSFORMERS_CACHE=/dev/null
    export HF_DATASETS_CACHE=/dev/null
    
    添加后执行source ~/.bashrc(对应你的shell配置文件)生效。
  • Windows:打开「系统属性」→「高级」→「环境变量」,新建两个系统变量:
    • 变量名TRANSFORMERS_CACHE,变量值NUL
    • 变量名HF_DATASETS_CACHE,变量值NUL
      重启终端或应用后生效。

方法二:在代码中强制禁用缓存

如果是你自己的代码调用NLLB,初始化模型时直接指定cache_dir=None:

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

model = AutoModelForSeq2SeqLM.from_pretrained(
    "facebook/nllb-200-distilled-600M",
    cache_dir=None
)
tokenizer = AutoTokenizer.from_pretrained(
    "facebook/nllb-200-distilled-600M",
    cache_dir=None
)

方法三:修改Huggingface配置文件

在用户目录下创建~/.huggingface/huggingface_hub_config.json(Windows路径为C:\Users\<你的用户名>\.huggingface\huggingface_hub_config.json),添加内容:

{
    "cache_dir": "/dev/null"  // Windows系统改为"NUL"
}

注意事项

如果是第三方应用或脚本在后台调用NLLB,需要确保该应用也应用了上述配置,否则缓存仍会生成;禁用缓存后,每次调用模型会从网络下载(若允许联网),如果需要离线使用,建议仅删除NLLB相关缓存,不要全局禁用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 16:50:12