~/tools / 模型檔案與聊天範本 / Ollama Modelfile Checker

Ollama Modelfile Checker — 以 ollama create 的讀法檢查 Modelfile

貼上 Ollama Modelfile,在執行之前就能確認 ollama create 是否會接受它。本工具依照 Ollama 的做法讀取檔案,顯示 Ollama 自己的錯誤訊息與行號、每個 instruction 最後會變成什麼、Ollama 儲存的型別下的 parameter、範例訊息,以及需要留意的地方,例如提早結束的值,或 Ollama 可能不會使用的 TEMPLATE。所有內容都不會離開你的瀏覽器。

請貼上整個檔案。ollama show --modelfile <model> 會印出你已有模型的 Modelfile。

ollama create 可以讀取這個 Modelfile

本工具能檢查的步驟中沒有錯誤。FROM 與檔案是否存在,只有你電腦上的 ollama create 會檢查。

注意事項

  • FROM qwen2.5:7b 是模型名稱:該模型必須能被 Ollama 使用。

instruction 會變成什麼

FROM
qwen2.5:7b
SYSTEM
You are a concise assistant. Answer in one or two sentences.
TEMPLATE
未設定:沿用 FROM 模型的

PARAMETER

名稱Ollama 中的型別儲存的值
num_ctxint8192
stopstring[]["\u003c|im_end|\u003e"]
temperaturefloat320.7

新模型的 parameter 層(JSON):

{"num_ctx":8192,"stop":["\u003c|im_end|\u003e"],"temperature":0.7}

FROM 模型中你沒有在這裡設定的 parameter 也會保留。

MESSAGE(範例對話)

  1. userIs Toronto in Canada?
  2. assistantyes

Ollama 寫回的 Modelfile

每個 instruction 一行,不含註解,格式為 Ollama 原始碼中的 Command.String。

FROM qwen2.5:7b
PARAMETER num_ctx 8192
PARAMETER temperature 0.7
PARAMETER stop <|im_end|>
SYSTEM "
You are a concise assistant.
Answer in one or two sentences.
"
MESSAGE user Is Toronto in Canada?
MESSAGE assistant yes

在 Ollama Modelfile Generator 中以表單建立 Modelfile →

於 2026-11-09 對照 Ollama 的原始碼(v0.40.15)、其文件,以及 Ollama 0.40.11 中的 ollama create 檢查: Ollama: Modelfile Reference · parser.go

所有處理都在你的瀏覽器中執行,不會傳送到任何地方。

Modelfile 看起來很簡單,但一個小錯誤就會讓 ollama create 以 "unexpected EOF" 或 "command must be one of ..." 這類簡短的訊息失敗。本工具逐步依照 Ollama 的原始碼運作。首先,它用與 Ollama 解析器相同的狀態機讀取檔案:不分大小寫的 instruction、除非以 " 或 """ 開頭否則在行尾結束的值、PARAMETER 名稱、MESSAGE 角色與註解。接著,它執行 ollama create 在連線到伺服器之前會做的事:在 ADAPTER 與 typical_p 停下來、檢查 CAPABILITY 與 REQUIRES,並像 Ollama 的 API 一樣把每個 PARAMETER 轉成型別(整數、32 位元浮點數、true 或 false,以及作為清單的 stop)。最後,它如同伺服器一樣,以 Go 的範本規則檢查 TEMPLATE。它會顯示新模型所儲存的 JSON 形式 parameter、範例對話,以及 Ollama 寫回的 Modelfile。我們在 Ollama 0.40.11 上以 43 個 Modelfile 檢查過本工具:每一個都得到與 ollama create 相同的錯誤,或與 ollama create 建立的模型相同的 parameter、system 訊息、template、訊息與授權條款。

使用情境

  • 找出 ollama create 失敗的原因,以及是哪一行造成的
  • 確認 num_ctx、temperature、stop 等 parameter 是否依你的本意、以 Ollama 儲存的型別被讀取
  • 在依據他人的 Modelfile 建立模型之前先審查它

使用方法

  1. 將你的 Modelfile 貼到文字框中,或編輯範例。
  2. 閱讀結果:會顯示 ollama create 的錯誤與說明,或每個 instruction 會變成什麼。
  3. 查看注意事項,例如同一項設定出現兩次、沒有 tools 的 TEMPLATE,需要的話,複製 Ollama 寫回的 Modelfile。

FAQ

"unexpected EOF" 是什麼意思?

Ollama 在處理到一半時就到了檔案結尾。通常是某個值以 " 或 """ 開頭,卻沒有在行尾以相同的引號結束,所以 Ollama 一直讀到檔案最後。當 PARAMETER 名稱含有字母、數字與 _ 以外的字元,或 MESSAGE 有角色卻沒有文字時,也會發生。

為什麼很長的 SYSTEM 訊息會導致 "command must be one of ..."?

值會在行尾結束。如果訊息有多行,又沒有用 """(或 ")包起來,Ollama 就會把下一行當成新的 instruction。多行的值請用 """ 包起來。

parameter 名稱會區分大小寫嗎?

會。FROM 或 parameter 這類 instruction 可以使用任何大小寫,但 parameter 名稱必須完全照寫,例如 temperature。在我們的測試中,PARAMETER Temperature 0.5 因 unknown parameter 'Temperature' 而失敗。

本工具會檢查 FROM 中的模型是否存在嗎?

不會。它看不到你電腦上的模型或檔案。它會告訴你 FROM 看起來像模型名稱還是路徑,但是否存在只有 ollama create 會檢查。

為什麼 ADAPTER 會失敗?

在 Ollama 0.40 中,ollama create 會在 ADAPTER 這一行以 "LoRA adapters are no longer supported" 停止。ADAPTER 不在目前的 Modelfile 文件中。

我的 Modelfile 會被傳送到任何地方嗎?

不會。所有處理都在你的瀏覽器中執行。

相關工具