Skip to content

建立 2026-09-15 更新 2026-09-15

Modelfile

Modelfile 是建立自訂模型的藍圖,概念接近 Dockerfile:宣告「從哪個模型來、系統要說什麼、參數怎麼設」。指令不分大小寫;完整列表見 Modelfile Reference

最小例子

存成檔案 Modelfile

FROM gemma4
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
SYSTEM """你是只使用台灣繁體中文的助理,回答要短、先給結論。"""

建立並執行(把名稱換成你要的):

ollama create zh-assistant -f ./Modelfile
ollama run zh-assistant

之後它會出現在 ollama ls,用法與圖書館裡的模型相同,也可以被 API 呼叫。

最常用的指令

指令 用途
FROM(必填) 基底模型,例如 gemma4 或本機 GGUF 路徑
SYSTEM 系統訊息:角色、語言、限制
PARAMETER temperaturenum_ctxnum_predictstop
MESSAGE 預先放入 user/assistant 範例,引導回答風格
TEMPLATE 完整提示詞模板(通常不必改,除非你在匯入特殊格式)
ADAPTER 套用 LoRA/QLoRA
LICENSE 授權文字
REQUIRES 最低 Ollama 版本

先改 SYSTEM 與少數 PARAMETER 就夠用。不要一開始就改 TEMPLATE,除非官方模型頁或 ollama show --modelfile 顯示你必須對齊特殊標記。

從現有模型抄一份來改

ollama show --modelfile gemma4

輸出裡的 FROM 可能是本機 blob 路徑。若要做衍生模型,把 FROM 改成你認得的名稱(例如 FROM gemma4),再加自己的 SYSTEM

在 REPL 裡也可以先 /set parameter ... 試參數,確定後再寫進 Modelfile,避免每次重建。

匯入 GGUF 或 Safetensors

FROM 可以指向:

  • 已有的 Ollama 模型名稱
  • 含 Safetensors 的目錄(架構須在官方支援清單內)
  • .gguf 檔(路徑相對 Modelfile 或用絕對路徑)

細節與支援架構以官方文件為準。匯入後仍建議用很小的提示測一次,確認模板沒有把角色標記弄亂。

上下文長度怎麼改

Matt Williams 說明模型「標稱」的 context 與實際預設 num_ctx 常不一樣,以及用 REPL、API、Modelfile 三種改法。對應本頁的 PARAMETER num_ctx。把數字一次拉到 128K 會大幅增加記憶體,應逐步上調。