目錄
Ollama Modelfile 教學:打造自己的客製化模型
Modelfile 是 Ollama 的模型設定檔,概念和 Dockerfile 很像:以一個現有的模型為基礎,加上自己的系統提示詞和參數,打包成一個新的模型名稱。
第一個 Modelfile:繁體中文助理
建立一個名為 Modelfile 的純文字檔:
FROM qwen3:8b
SYSTEM """
你是一位專業又親切的助理。
- 一律使用台灣慣用的繁體中文與用語回答。
- 回答要精簡,先給結論,再補充說明。
- 不確定的事情要直接說不確定,不要編造。
"""
PARAMETER temperature 0.6
PARAMETER num_ctx 8192
建立並執行:
ollama create tw-assistant -f ./Modelfile
ollama run tw-assistant
tw-assistant 會出現在 ollama list 中,API 和其他工具也都可以直接使用這個名稱。建立新模型不會複製原本模型的權重檔,幾乎不佔額外空間。
指令說明
| 指令 | 必要 | 說明 |
|---|---|---|
FROM | ✓ | 基礎模型,可以是模型名稱或本機的 GGUF / safetensors 檔案 |
SYSTEM | 系統提示詞 | |
PARAMETER | 推論參數 | |
MESSAGE | 預先放入的對話範例 | |
TEMPLATE | 提示詞範本(通常沿用基礎模型的,不需要修改) | |
LICENSE | 授權條款 |
多行文字用 """ 包起來。
常用參數
| 參數 | 說明 | 建議 |
|---|---|---|
temperature | 隨機程度。越低越穩定、越高越有創意 | 事實問答 0.2~0.5;創作 0.8~1.0 |
num_ctx | 上下文長度(token),決定模型能「記住」多少內容 | 長文件摘要時調大,但會增加記憶體用量 |
top_p | 只從累積機率前 p 的字中挑選 | 通常維持預設 |
top_k | 只從機率最高的 k 個字中挑選 | 通常維持預設 |
repeat_penalty | 降低重複內容的機率 | 回答不斷重複時調高到 1.1 |
num_predict | 最多產生多少 token,-1 為不限制 | 需要控制長度時設定 |
stop | 遇到這段文字就停止生成 | 可設定多個 |
seed | 隨機種子,固定後同樣的輸入會得到相同輸出 | 測試時使用 |
基礎模型本身可能已經設定了一些參數(例如建議的 temperature),可以用
ollama show 模型 --parameters查看。你在 Modelfile 中設定的值會覆蓋它們。
用 MESSAGE 提供範例
範例對話能有效地「示範」你要的回答格式:
FROM qwen3:8b
SYSTEM 你是一個把口語句子改寫成正式公文用語的助理,只輸出改寫後的句子。
MESSAGE user 我們明天沒辦法去開會
MESSAGE assistant 本單位明日因故無法出席會議,敬請見諒。
MESSAGE user 東西已經寄出去了
MESSAGE assistant 相關物品業已寄出,請查收。
從現有模型的 Modelfile 開始
ollama show qwen3:8b --modelfile > Modelfile
輸出的檔案包含完整的 TEMPLATE 和參數,修改需要的部分即可。注意輸出的 FROM 可能是一個本機檔案路徑,改回模型名稱(例如 FROM qwen3:8b)比較好維護。
匯入 Hugging Face 的 GGUF 模型
Hugging Face 上有大量 GGUF 格式的模型(包含各種微調版本)。下載 .gguf 檔後:
FROM ./my-finetuned-model.Q4_K_M.gguf
ollama create my-model -f Modelfile
Ollama 也可以直接執行 Hugging Face 上的 GGUF 儲存庫:
ollama run hf.co/使用者名稱/儲存庫名稱
ollama run hf.co/使用者名稱/儲存庫名稱:Q4_K_M
匯入 safetensors
從 safetensors 權重建立模型時,可以在建立時進行量化:
ollama create my-model -f Modelfile --quantize q4_K_M
(支援的架構以官方文件為準。)
在互動模式中快速儲存
不寫 Modelfile 也行。在對話中調整好之後直接存檔:
>>> /set system "你是一位資深的 Python 講師,用繁體中文回答,並附上範例程式碼。"
>>> /set parameter temperature 0.4
>>> /save python-tutor
管理自訂模型
ollama list # 自訂模型也會出現在這裡
ollama rm tw-assistant # 刪除(不影響基礎模型)
ollama show tw-assistant --modelfile
把 Modelfile 放進 Git 版本控制,團隊成員就能用 ollama create 建出完全相同的模型。
更新於 2026年10月12日