如果你使用 llama-cli 直接從 Hugging Face 下載並執行模型,例如:
1
|
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF
|
下載由 llama.cpp 處理。新版 llama.cpp 會把 -hf 下載的模型放進標準 Hugging Face Hub 快取。
預設快取位置
目前的 Hub 下載路徑優先查看 HF_HUB_CACHE;未設定時使用 $HF_HOME/hub,再依 XDG_CACHE_HOME 推導,最後才使用使用者目錄下的預設快取。舊教學常見的 LLAMA_CACHE 屬於 llama.cpp 自身或舊版口徑,不應再寫成目前 -hf 標準 Hub 快取的最高優先級。
| 系統 |
預設快取目錄 |
| Linux |
~/.cache/huggingface/hub |
| macOS |
~/.cache/huggingface/hub |
| Windows |
%USERPROFILE%\.cache\huggingface\hub |
Windows 的 %USERPROFILE% 通常對應:
因此預設快取約為:
1
|
C:\Users\使用者名稱\.cache\huggingface\hub
|
先檢查程序實際使用的目錄
Linux / macOS:
1
2
3
4
|
env | grep -E '^(HF_HOME|HF_HUB_CACHE|XDG_CACHE_HOME|LLAMA_CACHE)='
HUB_CACHE="${HF_HUB_CACHE:-${HF_HOME:-${XDG_CACHE_HOME:-$HOME/.cache}/huggingface}/hub}"
printf '%s\n' "$HUB_CACHE"
find "$HUB_CACHE" -type f -name '*.gguf' -printf '%p\t%s bytes\n'
|
Windows PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Get-ChildItem Env:HF_HOME,Env:HF_HUB_CACHE,Env:XDG_CACHE_HOME,Env:LLAMA_CACHE -ErrorAction SilentlyContinue
$hub = if ($env:HF_HUB_CACHE) {
$env:HF_HUB_CACHE
} elseif ($env:HF_HOME) {
Join-Path $env:HF_HOME 'hub'
} elseif ($env:XDG_CACHE_HOME) {
Join-Path $env:XDG_CACHE_HOME 'huggingface\hub'
} else {
Join-Path $env:USERPROFILE '.cache\huggingface\hub'
}
$hub
Get-ChildItem -LiteralPath $hub -Recurse -Filter *.gguf -ErrorAction SilentlyContinue
|
systemd、容器或 IDE 設定的變數可能不會出現在目前終端機。還要檢查 service、Compose 或啟動腳本,並以 llama-cli 實際下載日誌和落盤檔案為準。
修改快取目錄
只移動 Hub 模型快取時優先設定 HF_HUB_CACHE;若要一起移動 Hugging Face token、資產和 Hub 快取,則設定 HF_HOME。
Windows 命令提示字元:
1
2
|
set HF_HUB_CACHE=D:\models\huggingface-hub
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF
|
Windows PowerShell:
1
2
|
$env:HF_HUB_CACHE="D:\models\huggingface-hub"
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF
|
1
2
|
export HF_HUB_CACHE=/data/models/huggingface-hub
llama-cli -hf unsloth/gemma-4-E4B-it-GGUF
|
安全遷移快取
先停止所有下載、llama-cli 與相關服務。依序複製、核對、切換變數和試跑,最後才處理舊目錄:
1
2
3
4
5
6
|
old="$HOME/.cache/huggingface/hub"
new="/data/models/huggingface-hub"
mkdir -p "$new"
rsync -aH --info=progress2 "$old/" "$new/"
du -sb "$old" "$new"
HF_HUB_CACHE="$new" llama-cli -hf unsloth/gemma-4-E4B-it-GGUF -n 1
|
位元組數接近且新路徑完成一次最短推理後,再把變數寫入 shell、服務或容器設定。至少保留舊目錄到下一次正常啟動;共用快取也應限制寫入權限。
小結
- 新版
llama-cli -hf 使用標準 Hugging Face Hub 快取。
- Linux / macOS 預設:
~/.cache/huggingface/hub。
- Windows 預設:
%USERPROFILE%\.cache\huggingface\hub。
- 模型快取用
HF_HUB_CACHE,整體 Hugging Face 資料用 HF_HOME。
- 遷移順序是停止、複製、核對、切換、試跑,最後再封存舊目錄。
參考資料: