動作確認済み環境
本記事のコマンドは Ollama v0.30.8 で検証しています(2026年6月15日実測)。Ubuntu 24.04 LTS でも同じ手順・同じ出力になります。
「Hugging Face で見つけた GGUF ファイルをそのまま Ollama で動かしたい」という疑問に、この記事では直接答えます。
結論として、Ollama は v0.3.0 以降 hf.co/ プレフィックスをつけるだけで Hugging Face からGGUFモデルを直接 pull できます。さらに、ローカルにある .gguf ファイルを Modelfile 経由で登録する方法も使えます。どちらの方法も、コマンド1〜3本で完結します。
本記事では、実際に Ollama v0.30.8 で GGUFファイルのマジックバイト(GGUF)を確認し、ollama create でカスタムモデルを登録してAPIで呼び出すまでの全工程を実測した結果を載せます。
この記事のポイント
ollama pull hf.co/<namespace>/<repo>:<tag>でHugging FaceのGGUFを直接取得できる(v0.3.0以降)- ローカルの
.ggufファイルは Modelfile にFROM ./model.ggufと書きollama createで登録 - 量子化は Q4_K_M がバランス最良(品質・サイズ・速度のトレードオフ)
- 登録後は通常の ollama モデルと同じ
ollama run/ REST API で利用可能 - GGUF ファイルの先頭4バイトは必ず
GGUF(マジックバイト)—破損ファイル検出に使える
目次
- GGUFとは何か
- 前提環境
- 方法1:Hugging Face から直接pullする
- 方法2:ローカルGGUFファイルからModelfileで登録する
- モデルを実行する(ollama run / REST API)
- 量子化オプションの比較
- よくあるエラーと解決策
- まとめ
GGUFとは何か
GGUF は「GPT-Generated Unified Format」の略で、llama.cpp が定義した LLM(大規模言語モデル)の重みファイル形式です。以前の GGML 形式の後継で、2023年以降ほぼすべての量子化済みオープンモデルがこの形式で配布されています。
特徴は以下の3点です。
- 単一ファイル:モデルの重み・トークナイザー・メタデータがすべて1ファイルに収まる
- 量子化に対応:Q4_K_M / Q5_K_M など精度を落としてファイルサイズを圧縮できる
- CPU でも動く:GPU がなくても推論できる(遅いが動く)
実際に手元の GGUF ファイルを確認すると、先頭4バイトが 47 47 55 46(ASCII で「GGUF」)になっています。これがマジックバイトです。
00000000: 4747 5546 0300 0000 2201 0000 0000 0000 GGUF…."…….
00000010: 2200 0000 0000 0000 1400 0000 0000 0000 "……………
このマジックバイトを確認できれば、そのファイルは正しい GGUF 形式です。ダウンロード中に壊れた場合は GGUF が現れません。
前提環境
以下の環境を前提として説明します。
| 項目 | バージョン / 内容 | 備考 |
|---|---|---|
| OS | Ubuntu 24.04 LTS | 22.04 LTS でも同じ手順で動作 |
| Ollama | v0.30.8(実測) | v0.3.0 以上で hf.co/ 対応 |
| RAM | 8 GB 以上推奨 | Q4_K_M の 7B モデルは約5〜6 GB必要 |
| ストレージ | モデルサイズ分の空き | 0.5B モデルなら約400 MB |
Ollama をまだインストールしていない場合は、公式のインストールスクリプト一行で入ります。
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
>>> Adding ollama user to render group…
>>> The Ollama API is now available at 127.0.0.1:11434.
$ ollama –version
ollama version is 0.30.8
方法1:Hugging Face から直接pullする
Ollama v0.3.0 以降、hf.co/ で始まるモデル名を使うと Hugging Face のリポジトリから GGUF ファイルを直接 pull できます。これが最も手軽な方法です。
手順1:モデルページでGGUFリポジトリを探す
Hugging Face でモデルを探す際は、ファイル名に GGUF が含まれるリポジトリを選びます。たとえば bartowski ユーザーは多くのモデルのGGUF版を公開しており、よく参照されます。
リポジトリ名の末尾に -GGUF が付いているものが対象です。例:
bartowski/Qwen2.5-0.5B-Instruct-GGUFbartowski/Llama-3.2-1B-Instruct-GGUFmmnga/ELYZA-japanese-Llama-2-7b-GGUF(日本語モデル)
手順2:量子化タグを確認する
リポジトリの「Files」タブを見ると、Q4_K_M / Q5_K_M などのファイルが並んでいます。これが量子化タグになります。最初の一本は Q4_K_M を選ぶとバランスがよいです。
手順3:ollama pull で取得する
フォーマットは hf.co/<ユーザー名>/<リポジトリ名>:<量子化タグ> です。

pulling manifest
pulling 6eb923e7d26e: 100% ▕████████████████████▏ 397 MB
pulling e94a8ecb9327: 100% ▕████████████████████▏ 1.6 KB
pulling 3c3ae183ca1e: 100% ▕████████████████████▏ 475 B
verifying sha256 digest
writing manifest
success
pull が完了したら ollama list で確認できます。
NAME ID SIZE MODIFIED
hf.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_M acd7e615fd7e 397 MB Less than a second ago
qwen2.5:0.5b a8b0c5157701 397 MB 3 hours ago
方法2:ローカルGGUFファイルからModelfileで登録する
すでに .gguf ファイルがローカルにある場合は、Modelfile を使って登録します。カスタムのシステムプロンプトやパラメーターも設定できるので、HF pullより細かく制御したい場合に使います。
手順1:GGUFファイルを用意する
Hugging Face から手動でダウンロードする場合、以下のように wget または curl で取得します。
Resolving huggingface.co (huggingface.co)… 18.154.xxx.xxx
Connecting to huggingface.co|18.154.xxx.xxx|:443… connected.
Qwen2.5-0.5B-Instruct-Q4_K_M.gguf 379M ████████████████ 100%
手順2:Modelfile を作成する
Modelfile は Ollama がモデルを登録するための設定ファイルです。最低限 FROM だけあれば動きます。
FROM ./Qwen2.5-0.5B-Instruct-Q4_K_M.gguf
SYSTEM “あなたはLinuxの専門家です。日本語で簡潔に回答してください。”
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
Modelfile の主な設定項目を整理します。
| 命令 | 説明 | 例 |
|---|---|---|
FROM |
GGUFファイルのパス(必須) | FROM ./model.gguf |
SYSTEM |
システムプロンプト | SYSTEM "専門家として回答する" |
PARAMETER temperature |
生成の多様性(0.0〜1.0) | PARAMETER temperature 0.7 |
PARAMETER num_ctx |
コンテキスト長(トークン数) | PARAMETER num_ctx 4096 |
TEMPLATE |
プロンプトテンプレート(省略可) | 省略するとGGUFのデフォルト使用 |
手順3:ollama create で登録する
ollama create <モデル名> -f Modelfile で登録します。実際に実行した結果は以下の通りです(Ollama 0.30.8 で実測)。

gathering model components
copying file sha256:6eb923e7d26e… 100%
parsing GGUF
verifying conversion
creating new layer sha256:91aec7aec0ab
writing manifest
success
$ ollama list
NAME ID SIZE MODIFIED
my-linux-expert:latest 5c7f0a9b14f6 397 MB Less than a second ago
qwen2.5:0.5b a8b0c5157701 397 MB 3 hours ago
「parsing GGUF」→「success」という流れが正常完了の証拠です。エラーが出なければそのまま次へ進めます。
モデルを実行する(ollama run / REST API)
①コマンドラインで実行する
登録が済んだモデルは ollama run で対話モードに入れます。
>>> Ubuntuのaptコマンドとは何ですか?
apt(Advanced Package Tool)は、Ubuntuでパッケージのインストール・
更新・削除を行うコマンドラインツールです。
例: sudo apt update && sudo apt install nginx
>>> /bye
②REST APIで呼び出す
Ollama は起動すると localhost:11434 でREST APIを提供します。GGUF モデルも通常モデルと全く同じエンドポイントで呼べます。

Ollama is running
$ curl -s http://localhost:11434/api/tags | jq ‘.models[].name’
“my-linux-expert:latest”
“hf.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_M”
“qwen2.5:0.5b”
“llama3.2:1b”
$ curl -s http://localhost:11434/api/generate \
-d ‘{“model”: “hf.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_M”,
“prompt”: “Linuxとは?”, “stream”: false}’ \
| jq ‘.eval_count, (.total_duration/1e9)’
203
1.94
登録したGGUFモデルが /api/tags の一覧に並び、/api/generate が 203トークンを約1.94秒で生成して返したことが実測できました(Ollama 0.30.8)。レスポンス本文は .response フィールドに入っています。
小さいモデルの回答品質について
今回検証した 0.5B(5億パラメータ)モデルは「動作確認」には十分ですが、日本語の回答精度はかなり粗くなります。実用的な回答が欲しい場合は、同じ Q4_K_M でも 7B クラス(例:bartowski/Qwen2.5-7B-Instruct-GGUF)を選ぶと品質が大きく上がります。サイズと品質はトレードオフです。

Python から使う場合は requests ライブラリで簡単に呼び出せます。
import requests, json
resp = requests.post(‘http://localhost:11434/api/generate’, json={
‘model’: ‘my-linux-expert’,
‘prompt’: ‘SSHとは何ですか?’,
‘stream’: False
})
print(resp.json()[‘response’])
“
SSH(Secure Shell)はネットワーク越しにリモートサーバーへ
安全にログインするためのプロトコルです。通信は暗号化されます。
量子化オプションの比較
GGUF ファイルの「量子化」とは、モデルの数値精度を落としてファイルサイズと使用メモリを削減する技術です。精度を落とすほどサイズは小さくなりますが、回答の品質も若干低下します。

Hugging Face のファイル名の末尾に付いている Q4_K_M などがこれに該当します。目安として以下を参考にしてください(7Bモデルの場合)。
| 量子化名 | ビット精度 | ファイルサイズ目安 | 必要VRAM目安 | 推奨度 |
|---|---|---|---|---|
Q2_K |
2bit | 約3.0 GB | 4 GB〜 | 最終手段(品質低) |
Q4_K_M |
4bit | 約4.7 GB | 6 GB〜 | ★★★ バランス最良・まずこれ |
Q5_K_M |
5bit | 約5.3 GB | 8 GB〜 | 高精度が必要な場合 |
Q6_K |
6bit | 約6.1 GB | 8 GB〜 | VRAM余裕があれば |
Q8_0 |
8bit | 約7.7 GB | 12 GB〜 | 品質を妥協したくない場合 |
VPS や自宅サーバーで動かすなら Q4_K_M から始めるのが正直おすすめです。特に 8 GB RAM マシンでは Q5_K_M 以上は厳しくなります。
よくあるエラーと解決策
①「Error: pull model manifest: file does not exist」
Hugging Face のリポジトリ名かタグ名が間違っています。
確認ポイント
- リポジトリ名は大文字・小文字を正確に合わせる(
GGUFなど) - タグ名(
:Q4_K_Mなど)は Hugging Face の「Files」タブに表示されるファイル名から読み取る ollama pull hf.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF:Q4_K_Mのように正確にコピーする
②「Error: GGUF: unexpected magic」
ダウンロードしたファイルが壊れているか、GGUF 形式でないファイルを指定しています。
00000000: 4747 5546 … GGUF… ← 先頭が GGUF なら正常
00000000: 3c21 444f … <!DO… ← HTMLが返ってきた(エラーページ)
上記の確認で先頭が GGUF でない場合は、ダウンロードURLが間違っているか途中で失敗しています。ファイルを削除して再ダウンロードしてください。
③「out of memory」
モデルが大きすぎて RAM に収まっていません。より小さい量子化(Q4_K_M → Q2_K など)か、より小さいモデル(7B → 3B → 1B)に変えてください。
total used free
Mem: 15Gi 12Gi 1.2Gi
↑ 空きが少ない → 大きいモデルは動かない
④「Error: model ‘xxx’ not found」
ollama create でモデルを作成した後、ollama list で名前を確認してから実行してください。大文字・小文字も区別されます。
⑤Modelfile の FROM パスが見つからない
相対パスを使う場合、ollama create を実行するディレクトリからの相対パスになります。絶対パスを使うと確実です。
FROM ./model.gguf
# 絶対パス(確実)
FROM /home/ubuntu/models/model.gguf

まとめ
Ollama で GGUF モデルを使う方法を2通り実測しました。
- Hugging Face から直接 pull:
ollama pull hf.co/<user>/<repo>:<tag>(v0.3.0以降) - ローカルGGUFから登録:Modelfile に
FROM ./model.gguf→ollama create - 量子化は Q4_K_M がバランス最良(初心者にはまずこれ)
- 登録後は
ollama runも REST API も通常モデルと同じ操作 - GGUFファイルの先頭4バイトが
GGUFでなければ破損:xxdで確認できる
Ollama と GGUF を組み合わせると、Hugging Face で公開されているほぼすべてのオープンモデルをローカルで動かせます。VPS に Ollama をセットアップすれば、24時間稼働の自前 AI サーバーも実現できます。
VPS で Ollama を動かしたい方へ
ローカルではなく VPS でOllamaを常時稼働させると、スマホや他のデバイスからもAPIを呼べます。GPU付きVPSを選べば大きめのGGUFモデルも快適に動きます。
関連記事:



コメント