Hugging Face から GGUF モデルをダウンロードし、Ollama にインポートします。

モデルに既製の Ollama バージョンがない場合は、まず Hugging Face から GGUF ファイルをダウンロードし、それを Modelfile を通じて Ollama にインポートします。

モデルの公式 Ollama ライブラリに既製バージョンがない場合、または Hugging Face で特定の GGUF ファイルを使用したい場合は、手動でダウンロードして Ollama にインポートできます。

ステップ 1: Hugging Face から GGUF ファイルをダウンロードする

まず、Hugging Face で対象モデルに対応する GGUF ファイルを見つけます。次のような複数の量子化バージョンが表示されるのが一般的です。

  • Q4_K_M
  • Q5_K_M
  • Q8_0

どのバージョンを選択するかは、ビデオ メモリ、メモリ、速度と品質の選択によって異なります。ダウンロード後、.gguf ファイルを固定ディレクトリに置き、後で Modelfile で直接参照します。

ステップ 2: モデルファイルを作成する

モデル ファイルと同じディレクトリに新しい Modelfile を作成します。最も基本的な書き方は次のとおりです。

1
FROM ./model.gguf

ファイル名が異なる場合は、次のように実際のファイル名に変更します。

1
FROM ./gemma-3-12b-it-q4_k_m.gguf

最初に実行したいだけの場合は、通常、FROM 行で十分です。

ステップ 3: Ollama にインポートする

次に、以下を実行します。

1
ollama create myModelName -f Modelfile
  • myModelName は、Ollama で使用するローカル モデル名です。
  • -f Modelfile は、この構成ファイルからモデルを作成することを意味します

作成が成功すると、この GGUF ファイルは直接呼び出すことができるローカル モデルになります。

ステップ 4: モデルを実行する

作成後に直接実行します。

1
ollama run myModelName

以降の使い方は基本的にollama pullのモデルと同じです。

既存のモデルのモデルファイルを表示する方法

Modelfile の書き方がわからない場合は、既存のモデルの構成を直接表示できます。

1
ollama show --modelfile llama3.2

このコマンドは、参照に適した llama3.2Modelfile コンテンツを出力します。

  • FROMの書き方
  • テンプレートとシステム プロンプトはどのように構成されていますか?
  • パラメータの宣言方法

このルートを使用するのが適切なのはどのような場合ですか?

次のシナリオは、Hugging Face からの手動インポートに適しています。

  • 必要なモデルは、公式 Ollama ライブラリではまだ利用できません。
  • 特定の量子化バージョンを使用したい場合
  • GGUF ファイルを手動でダウンロードしました
  • モデルのパッケージ化方法をよりきめ細かく制御したい

公式ライブラリに既製のバージョンがある場合は、通常、pull を直接使用する方が簡単です。ただし、特定の量子化やカスタム パッケージングが必要な場合は、GGUF + Modelfile の方がより柔軟です。

共通の注意点

  • FROM の後のパスは、実際の .gguf ファイルの場所と一致している必要があります。
  • ファイル名にスペースや特殊文字が含まれている場合は、最初に簡単な名前に変更することをお勧めします。
  • GGUF の量子化バージョンが異なると、メモリと速度に大きな影響を与えます。インポートが成功しても、操作がスムーズに行われるとは限りません。
  • モデルがチャット モデルの場合、効果がより安定するように、後でその形式に応じてプロンプト テンプレートを調整する必要があります。

ダウンロード、検証、インポートの受け入れ確認

llama-cli -hf と Ollama へのインポートは別の経路です。前者は Hugging Face から GGUF を直接取得して実行し、後者は Modelfile を使ってローカル GGUF を Ollama に登録します。

1
2
hf download <repo> <model-file.gguf> --local-dir ./models
llama-cli -hf <owner>/<repository> -n 32 -p "Reply with exactly: ok"

リポジトリ、完全なファイル名、量子化、サイズ、作者が公開している場合は SHA256 を記録します。

1
sha256sum ./models/model.gguf

Windows では次を使います。

1
Get-FileHash -Algorithm SHA256 -LiteralPath '.\models\model.gguf'

FROM の相対パスは Modelfile のあるディレクトリを基準に解決されます。作成後は登録情報を確認し、実際の API リクエストを実行します。

1
2
3
4
5
6
7
ollama list
ollama show myModelName
curl http://127.0.0.1:11434/api/generate -d '{
  "model": "myModelName",
  "prompt": "Reply with exactly: ok",
  "stream": false
}'

インポート失敗からの復旧

  • no such file or directory:作業ディレクトリ、ファイル名、FROM パスを確認します。
  • invalid file magic:未完了のダウンロード、Git LFS ポインタ、HTML エラーページの可能性があります。
  • 作成は成功するが応答が不正:ollama show --modelfile myModelName で chat template、stop token、コンテキストを確認します。
  • モデル名が誤っている:ollama rm myModelName を実行し、Modelfile を修正して再作成します。
1
2
file ./model.gguf
head -c 4 ./model.gguf

有効なファイルは GGUF magic で始まります。最小推論が成功するまで元のダウンロードを削除しないでください。

結論

Hugging Face から GGUF ファイルをダウンロードして Ollama にインポートするのは複雑ではありません。モデル ファイルを準備し、使用可能な最小限の Modelfile を書き込み、その後 ollama create を実行してサードパーティの GGUF モデルを Ollama に接続します。