llama-cli -hf でダウンロードした Hugging Face モデルのデフォルト保存先

llama-cli -hf が使う Hugging Face Hub キャッシュ、環境変数の優先順位、パス確認、安全な移行方法を解説します。

llama-cli から Hugging Face のモデルを直接ダウンロードして実行する例です。

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

ダウンロードは llama.cpp が処理し、現在の -hf は標準の Hugging Face Hub キャッシュを使用します。

デフォルトのキャッシュ場所

現在の Hub ダウンロードでは HF_HUB_CACHE が優先されます。未設定なら $HF_HOME/hub、次に XDG_CACHE_HOME から導出した場所、最後にユーザーの標準キャッシュを使います。古い解説にある LLAMA_CACHE は llama.cpp 固有または旧来の設定であり、現在の標準 -hf Hub キャッシュで最優先とは扱えません。

OS デフォルトのキャッシュディレクトリ
Linux ~/.cache/huggingface/hub
macOS ~/.cache/huggingface/hub
Windows %USERPROFILE%\.cache\huggingface\hub

Windows の %USERPROFILE% は通常次の場所です。

1
C:\Users\ユーザー名

したがってデフォルトキャッシュは次のようになります。

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、token やアセットを含む Hugging Face データ全体を移すなら 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

バイト数がほぼ一致し、新しい場所で最小推論が成功した後に設定を永続化します。次回の通常起動が成功するまで旧ディレクトリを残し、共有キャッシュでは書き込み権限を制限してください。

まとめ

  • 現在の llama-cli -hf は標準 Hugging Face Hub キャッシュを使います。
  • Linux / macOS:~/.cache/huggingface/hub
  • Windows:%USERPROFILE%\.cache\huggingface\hub
  • モデルキャッシュは HF_HUB_CACHE、全データは HF_HOME で移動します。
  • 停止、コピー、検証、切り替え、試運転の後に旧ディレクトリを保管または整理します。

参考資料: