從 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

要選哪個版本,取決於你的 VRAM、RAM,以及你對速度與品質的取捨。下載後請把 .gguf 檔案放在固定目錄,後續才能在 Modelfile 中直接引用。

第 2 步:撰寫 Modelfile

在模型檔案所在目錄建立一個 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

如果你不確定 Modelfile 要怎麼寫,可以直接查看現有模型的設定:

1
ollama show --modelfile llama3.2

這個命令會輸出 llama3.2Modelfile,很適合作為參考:

  • FROM 該怎麼寫
  • 模板與 system prompt 如何組織
  • 參數如何宣告

什麼時候適合用這條路線

以下情境很適合用 Hugging Face 手動匯入流程:

  • Ollama 官方庫裡還沒有你要的模型
  • 你想使用特定的量化版本
  • 你已經手動下載好 GGUF 檔案
  • 你希望更細緻地控制模型封裝方式

如果 Ollama 官方庫已經有現成版本,直接 pull 通常更省事;但當你需要特定量化或自訂封裝時,GGUF + Modelfile 會更有彈性。

常見注意事項

  • FROM 後面的路徑必須和實際 .gguf 檔案位置一致。
  • 如果檔名包含空格或特殊字元,建議先改成較簡單的名稱。
  • 不同 GGUF 量化版本對記憶體與速度影響很大,匯入成功不代表執行一定順暢。
  • 若模型是聊天模型,後續通常仍需依其格式調整 prompt 模板,效果才會更穩定。

下載、校驗與匯入驗收

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 工作流。