Modelfile 教學:5分鐘讓Ollama載入自定義GGUF並串接AnythingLLM

00_251231_modelfile-tutorial-load-gguf-to-ollama-and-anythingllm cover 800 x 400

Ollama 官方未提供的模型 (例如特定微調版 Llama 3、繁體中文優化模型),都可透過 Modelfile 自行載入,並依實際需求細部調整模型參數。本篇 Modelfile 教學將完整說明:從 Hugging Face 下載模型開始,透過 Modelfile 讓 Ollama 載入任意 GGUF 模型,一步步打造可與 AnythingLLM 串接的本地私有知識庫流程。

Modelfile 是 Ollama 用來建立與自訂模型行為的設定檔,使用者不需要修改模型權重,也不必重新訓練或微調 GGUF 模型,就可以定義模型來源、推論參數與提示 (Prompt) 行為,快速打造符合實際需求的模型設定。

建立本地 AI 基礎:Ollama 官方軟體與 AnythingLLM 安裝指南

下列軟體要先安裝在電腦上,假使沒有 GPU 的話,就跳過 GPU 驅動程式安裝的步驟。

基本上在 Windows 11 上面安裝軟體,幾乎都一直按【下一步】就完成安裝了!

、 Ollama 模型推論引擎 (後端):https://ollama.com/
、 AnythingLLM 多功能操作介面 (前端):https://anythingllm.com/desktop
、 Nvidia GPU 驅動程式 (非必要):https://www.nvidia.com/zh-tw/drivers/

新手可以參考用 AnythingLLM + Ollama 秒殺 ChatGPT 的安裝過程,再接著往下操作 Modelfile 教學內容。

Modelfile 檔案要放在哪裡?

下圖是我的例子,在【Local_AI】資料夾下存放 3 個 Modelfile 檔案;並且在資料夾【Model】內儲存 3 個 GGUF 模型。

在 C 槽新增【Local_AI】資料夾
Modelfile 檔案放在【Local_AI】資料夾裡面
在【Local_AI】資料夾再新增【Model】資料夾,存放並能方便管理自行下載的 GGUF 模型

01_251231_modelfile 教學 - AnythingLLM Ollama 設定
Modelfile 檔案存放位置

讓 Ollama 載入自定義 GGUF 並串接 AnythingLLM 的專案架構圖:

C:\Local_AI\
├── MODEL   ← 存放 GGUF 模型
|    ├── llama-3-taiwan-8B-instruct-q8_0.gguf
|    └── Ministral-3-14B-Instruct-2512-Q8_0.gguf
|    └── Nemotron-3-Nano-30B-A3B-Q8_0.gguf
├── Modelfile_llama-3-taiwan-8B-instruct   ← Modelfile 檔案
├── Modelfile_Ministral-3-14B              ← Modelfile 檔案
├── Modelfile_Nemotron-3-Nano-30B          ← Modelfile 檔案

Hugging Face GGUF 下載

前往 Hugging Face 尋找需要的 GGUF 模型,在左手邊欄位可以設定搜尋條件。

將下載的 GGUF 模型,存放在【Model】資料夾內。

02_251231_modelfile 教學 - Hugging Face GGUF 下載
Hugging Face GGUF 下載

GGUF 檔名定義

通常標準的 GGUF 模型檔名包含以下四個部分:

[模型名稱] - [參數規模] - [版本/微調標籤] - [量化等級].gguf

例如:Nemotron-3-Nano30BA3BQ8_0.gguf
模型名稱: Nemotron-3-Nano。Nvidia 開發的開源模型系列。
參數規模: 30B (300 億參數)。數字越大,模型越聰明,但需要的硬體資源越高。
微調標籤: A3B,活躍參數。代表它是 MoE 架構。雖然總參數有 30B,但每次運算只會動用 3B 個參數。Instruct (對話加強版) 或 Coder (程式碼加強版)。
量化等級: Q8_0,8-bit 量化。幾乎無損的品質,但檔案體積較大。

GGUF 模型量化等級 (Quantization) 解析

量化等級說明硬體建議
Q22-bit 量化,損失極大記憶體極小設備
Q44-bit 壓縮,精準度損失極小平衡度最高
Q55-bit 量化,比 Q4 聰明一點VRAM充足時使用
Q88-bit 量化,幾等同原版精確度VRAM非常充足
FP16原始不壓縮版專業開發者
常見量化模型 GGUF 使用代號說明
縮寫意義說明
SSmall最小壓縮,犧牲較多準確度
MMedium效能與準確度的最佳平衡點
LLarge最大保留,精準度最高
結尾字母 S、M、L 的含義

主流 MoE 模型推薦

Nemotron-3-Nano-30B-A3B (NVIDIA)

Nemotron-3-Nano-30B-A3B:總參數 30B,活躍參數 3B。
特色: 在一般消費級顯卡上流暢運行大模型智慧而設計。3B 的運行速度加上 30B 的知識量,性價比極高。

Mixtral 8x7B / 8x22B (Mistral AI)

Mixtral 8x7B: 總參數約 46.7B,每次運算僅使用 12.9B。
Mixtral 8x22B: 總參數約 141B,每次運算僅使用 39B。
特色: 邏輯極強,是目前最穩定的開源 MoE 模型,非常適合處理複雜的代碼與科學問題。

Qwen2-57B-A14B (阿里巴巴通義千問)

參數規模: 總參數 57B,活躍參數 14B。
特色: 對中文的理解力、成語、文化背景支持極佳。

撰寫並編輯 Modelfile 教學

Ollama Modelfile 教學的核心內容與範本如下:

檔名:Modelfile_xxx
說明:xxx,最好跟 GGUF 模型檔名一致;優點是易於在 AnythingLLM 辨識要指定模型。
重點:Modelfile_xxx,不需要副檔名,務必刪除 .txt 的文字。

Ollama Modelfile template 範例:Modelfile_Ministral-3-14B

# Modelfile 教學範本
FROM "C:\Local_AI\Model\Ministral-3-14B-Instruct-2512-Q8_0.gguf"

# 參數優化, 模型的總層數 = 41
PARAMETER num_ctx 4096   
PARAMETER num_thread 6 
PARAMETER num_gpu 38   
PARAMETER temperature 0.3    
PARAMETER repeat_penalty 1.1 

# TEMPLATE 段落 ---
# Mistral 系列模型使用的標準 Instruct 模板
TEMPLATE """[INST] {{ if .System }}{{ .System }}
{{ end }}{{ .Prompt }}[/INST]"""
# 建議增加 STOP 參數,防止模型輸出多餘的標籤
PARAMETER stop "[INST]"
PARAMETER stop "[/INST]"
PARAMETER stop "</s>"

SYSTEM """
你是一位高效且細心的通用型 AI 助手。
你擅長精確執行用戶的指令,並提供條理分明的資訊。
請遵循以下原則:
1. **精確遵循**:嚴格按照用戶要求的格式(如 JSON, Markdown 列表等)輸出。
2. **文本摘要**:在處理長文章時,請提取核心要點,避免遺漏關鍵細節。
3. **語氣自然**:回答應平易近人,並保持專業且友善的語氣。
4. **資訊過濾**:僅回答用戶詢問的範圍,不主動擴散無關話題。
請使用繁體中文進行回答。
"""

Modelfile 教學標準撰寫格式與語法全解析

一個完整的 Modelfile 通常由以下四個核心指令組成:
、FROM
、PARAMETER
、TEMPLATE
、SYSTEM

FROM (必填)
用來指定你的 GGUF 檔案路徑

PARAMETER (選填)
用來調整模型的參數

TEMPLATE (建議填寫)
定義模型如何區分【系統指令】、【使用者問題】與【AI 回答】

SYSTEM (建議填寫)
定義模型的【規則】

建立一個可被 Ollama 使用的自定義模型

ollama create 指令的主要目的,是依照 Modelfile 的設定,在本機建立一個可被 Ollama 使用的自定義模型。語法如下:

ollama create Ministral-3-14B -f C:\Local_AI\Modelfile_Ministral-3-14B

[模型名稱]:Ministral-3-14B,建議用英文。
-f:代表 “File”。
[Modelfile 檔名]:C:\Local_AI\Modelfile_Ministral-3-14B,Modelfile 檔案的路徑。

如何執行 ollama create

系統管理員身份在終端機 ( CMD 或 PowerShell ) 執行上述指令,把【 GGUF 模型 + Modelfile 規則】打包成一個可重複使用的 Ollama 模型實體。

03_251231_ollama create example
如何執行 ollama create

何時需要執行 ollama create 指令重新打包 Ollama 模型呢?

只要 Modelfile 有修改內容,就需要移除原本 Ollama GGUF 模型,然後再執行 ollama create 重新打包 Ollama 模型。

如何移除現有Ollama 模型呢?

系統管理員身份在終端機 ( CMD ) 輸入 ollama list 確認目前的模型名稱。

ollama list

然後輸入 ollama rm <模型名稱>,就可以移除原本 Ollama 使用的 GGUF 模型。

ollama rm Ministral-3-14B:latest

最後再執行 ollama create 重新打包 Ollama GGUF 模型就可以在 AnythingLLM 匯入新版 GGUF 模型了。

ollama create Ministral-3-14B -f C:\Local_AI\Modelfile_Ministral-3-14B
04_251231_AnythingLLM 連結 Ollama 自定義模型設定
移除並重新打包 Ollama GGUF 模型

Ollama 載入 GGUF 並串接 AnythingLLM

用下圖來說明 AnythingLLM Ollama 整合的細節,讓你輕鬆完成 AnythingLLM 串接 Ollama 自定義 LLM 模型。

本地 AI 知識庫建置:
1、在 AnythingLLM 工作區配置中,按下【+】來新增一個新的 Workspace,名稱自定
2、Workspace 被命名為【chat】
3、按下右手邊【齒輪】符號,進入設定頁面
4、點擊上方的【Chat Settings】
5-1、找到【Workplace LLM Provider】
5-2、在下拉式選單中選取【Ollama】
6-1、找到【Workplace Chat model】
6-2、在下拉式選單中選取自定義的 Ollama GGUF 模型【Ministral-3-14B:latest】

最後,按下畫面中右上方的【Update Workplace】,就完成自定義 GGUF 模型完美匯入 AnythingLLM 的所有流程!

05_251231_modelfile 教學 - Ollama 自定義 GGUF 模型匯入 AnythingLLM
Ollama 自定義 GGUF 模型匯入 AnythingLLM

Modelfile 教學 – 常見問題

Q1:如何設定 PARAMETER num_gpu 的值呢?

A1:關閉 Ollama 與 AnythingLLM 程式,然後用系統管理員身份在終端機 ( CMD ) 輸入:%LOCALAPPDATA%\Ollama\server.log
在被打開的 log 檔案中,尋找以下關鍵字:
msg=”loading model” “model layers”=41 -> 代表模型總層數 (Total Layers):41 層
msg=”offloaded 38/41 layers to GPU” -> 代表模型進 GPU 的層數 (Offloaded to GPU):38 層
所以在 Modelfile 裡面,PARAMETER num_gpu 的值就可以根據實際需求做調整,實現 GPU 加速的目的。

Q2:修改 Modelfile 後要重新打包 Ollama GGUF 模型嗎?

A2:是。
原因:新參數 (如 Temperature 或 System Prompt ) 才會生效。

Q3:AnythingLLM 串接 Ollama 需要填 API Key 嗎?

A3:不需要。
原因:在本地執行 Ollama 自定義模型實現 AnythingLLM 本地 RAG 功能,預設不開啟身份驗證。只要填對 IP即可連結。

Q4:如何在 Modelfile 中讓模型強制講繁體中文?

A4:在 SYSTEM 指令中加入強制要求。
範例:SYSTEM “””你是一位來自台灣的助理,請一律以「繁體中文」回答,並符合台灣在地用語習慣。”””

Q5:可以匯入多個自定義的 GGUF 並串接 AnythingLLM嗎?

A5:可以。
範例:在上述專案架構圖中,建立了3 個 Modelfile 檔案,分別對應【Model】資料夾內的個別檔案。只要在 AnythingLLM 建立 3 個 Workplace,每個 Workplace 指定各自的 GGUF 模型就可以了(如上圖)。

Q6:載入模型會很久嗎?

A6:通常模型大小都幾十 GB,第一次載入時的確會等一下子。建議將程式與模型安裝在 NVMe SSDNVMe RAID,可以縮短載入時間。

掌握 Modelfile 教學,實現個人專屬的本地 AI 知識庫

透過 Modelfile 教學範本,結合 Ollama 串接 AnythingLLM 的實作過程,可清楚知道如何將自定義 GGUF 模型載入 Ollama,無需訓練即可調整參數與提示行為。建立兼顧隱私、效能與彈性的本地個人或家庭私有知識庫