模型管理功能
Ollama 是一個在本機下載、執行及管理大型語言模型(LLM)的工具。它提供命令列介面(CLI),也提供 HTTP API,適合用於聊天、程式開發、RAG 或本地 AI 服務。
## 1. 基本指令
先確認 Ollama 是否安裝及版本:
```bash
ollama version
```
查看所有可用命令:
```bash
ollama help
```
查看特定命令的說明:
```bash
ollama help run
ollama help create
```
常用模型名稱例如:
```text
llama3.2:3b
mistral
qwen2.5:7b
gemma3:4b
```
模型名稱通常包含:
```text
模型名稱:標籤
```
例如:
```text
llama3.2:3b
```
其中 `3b` 表示約 30 億參數。
---
## 2. 下載模型
使用 `pull` 從 Ollama Registry 下載模型:
```bash
ollama pull llama3.2:3b
```
下載其他模型:
```bash
ollama pull mistral
ollama pull qwen2.5:7b
```
下載完成後,模型會儲存在本機。若執行尚未下載的模型,`ollama run` 通常也會自動下載。
---
## 3. 執行模型
互動式聊天:
```bash
ollama run llama3.2:3b
```
進入互動模式後,可以直接輸入問題,例如:
```text
請用繁體中文解釋什麼是 RAG。
```
也可以將提示直接放在命令列:
```bash
ollama run llama3.2:3b "請介紹 Docker 的用途"
```
離開互動模式:
```text
/bye
```
或使用 `Ctrl+D`、`Ctrl+C`。
---
## 4. 查看已安裝的模型
列出本機已下載的模型:
```bash
ollama list
```
輸出通常包含:
- 模型名稱
- 模型 ID
- 大小
- 修改時間
範例:
```text
NAME ID SIZE MODIFIED
llama3.2:3b abc123 2.0 GB 2 days ago
qwen2.5:7b def456 4.7 GB 1 day ago
```
查看某個模型的詳細資訊:
```bash
ollama show llama3.2:3b
```
也可以只查看特定項目,例如模型的參數設定:
```bash
ollama show --parameters llama3.2:3b
```
常用選項包括:
```bash
ollama show --modelfile llama3.2:3b
ollama show --template llama3.2:3b
ollama show --parameters llama3.2:3b
ollama show --system llama3.2:3b
```
實際可用選項可用以下命令確認:
```bash
ollama help show
```
---
## 5. 查看目前正在執行的模型
查看目前載入記憶體中的模型:
```bash
ollama ps
```
這與 `ollama list` 不同:
| 指令 | 用途 |
|---|---|
| `ollama list` | 查看已下載到磁碟的模型 |
| `ollama ps` | 查看目前正在記憶體中執行的模型 |
`ollama ps` 通常會顯示:
- 模型名稱
- 模型大小
- GPU/CPU 使用狀況
- 佔用時間或保留時間
---
## 6. 停止模型
停止目前執行中的模型:
```bash
ollama stop llama3.2:3b
```
如果模型長時間沒有使用,可以透過 `keep_alive` 控制它在記憶體中保留多久。
使用 API 時:
```bash
curl http://localhost:11434/api/generate \
-d '{
"model": "llama3.2:3b",
"prompt": "你好",
"keep_alive": "5m"
}'
```
也可以設定:
```json
"keep_alive": 0
```
表示完成請求後卸載模型。
---
## 7. 更新模型
重新從 Registry 拉取模型:
```bash
ollama pull llama3.2:3b
```
通常這會取得模型的最新版本或檢查是否已有更新。
查看模型的詳細版本資訊:
```bash
ollama show llama3.2:3b
```
---
## 8. 刪除模型
刪除本機模型:
```bash
ollama rm llama3.2:3b
```
刪除自訂模型也使用相同命令:
```bash
ollama rm my-model
```
刪除前可先確認磁碟空間:
```bash
ollama list
```
Ollama 沒有常規的「清理所有未使用模型」通用指令,因此通常需要使用 `ollama list` 找出不需要的模型後,再以 `ollama rm` 刪除。
---
## 9. 複製模型名稱
使用 `cp` 建立模型的另一個名稱:
```bash
ollama cp llama3.2:3b my-llama
```
之後可以使用新名稱執行:
```bash
ollama run my-llama
```
這適合在不修改原始模型的情況下建立別名或自訂版本。
---
## 10. 使用 Modelfile 建立自訂模型
Ollama 可以透過 `Modelfile` 建立具有固定系統提示、參數或模板的模型。
建立檔案:
```text
FROM llama3.2:3b
PARAMETER temperature 0.3
PARAMETER num_ctx 4096
SYSTEM """
你是一位專業的繁體中文技術助理。
回答時請條理清楚,必要時提供程式碼範例。
"""
```
使用 `create` 建立模型:
```bash
ollama create tech-assistant -f Modelfile
```
執行自訂模型:
```bash
ollama run tech-assistant
```
### 常見 Modelfile 指令
| 指令 | 用途 |
|---|---|
| `FROM` | 指定基礎模型 |
| `SYSTEM` | 設定系統提示 |
| `PARAMETER` | 設定模型參數 |
| `TEMPLATE` | 自訂提示模板 |
| `ADAPTER` | 載入 LoRA 等適配器 |
| `LICENSE` | 指定授權資訊 |
| `MESSAGE` | 預先加入對話訊息 |
常見參數:
```text
PARAMETER temperature 0.7
PARAMETER num_ctx 8192
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
```
參數意義:
- `temperature`:控制回答隨機性,越低越穩定
- `num_ctx`:上下文視窗大小
- `top_p`:控制候選詞採樣範圍
- `repeat_penalty`:降低重複內容
查看現有模型的 Modelfile:
```bash
ollama show --modelfile llama3.2:3b
```
---
## 11. 啟動 Ollama 服務
在背景啟動 Ollama 服務:
```bash
ollama serve
```
預設 API 位址通常是:
```text
http://localhost:11434
```
確認服務是否正常:
```bash
curl http://localhost:11434/api/tags
```
此 API 會列出本機模型。
在 Linux 上,如果 Ollama 以 systemd 服務執行,也可以使用:
```bash
sudo systemctl status ollama
sudo systemctl start ollama
sudo systemctl stop ollama
sudo systemctl restart ollama
```
---
## 12. 設定環境變數
### 修改模型儲存位置
Linux 或 macOS:
```bash
export OLLAMA_MODELS=/data/ollama-models
```
Windows PowerShell:
```powershell
$env:OLLAMA_MODELS="D:\ollama-models"
```
### 修改服務監聽位址
預設只允許本機存取。如要讓其他主機連線,可以設定:
Linux/macOS:
```bash
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
```
Windows PowerShell:
```powershell
$env:OLLAMA_HOST="0.0.0.0:11434"
ollama serve
```
注意:將服務暴露到網路時,應搭配防火牆、反向代理或身分驗證,避免任何人直接使用本機模型。
---
## 13. 常見管理流程
一個典型的模型管理流程如下:
```bash
# 1. 下載模型
ollama pull qwen2.5:7b
# 2. 查看模型
ollama list
ollama show qwen2.5:7b
# 3. 執行模型
ollama run qwen2.5:7b
# 4. 查看目前載入狀態
ollama ps
# 5. 停止模型
ollama stop qwen2.5:7b
# 6. 不再需要時刪除
ollama rm qwen2.5:7b
```
如果要建立具備固定角色設定的模型:
```bash
ollama create my-assistant -f Modelfile
ollama run my-assistant
```
## 常用命令總覽
| 命令 | 功能 |
|---|---|
| `ollama serve` | 啟動 Ollama 服務 |
| `ollama run` | 執行模型 |
| `ollama pull` | 下載或更新模型 |
| `ollama push` | 上傳模型 |
| `ollama list` | 列出已安裝模型 |
| `ollama ps` | 查看目前執行中的模型 |
| `ollama show` | 查看模型詳細資訊 |
| `ollama create` | 根據 Modelfile 建立模型 |
| `ollama cp` | 複製模型或建立別名 |
| `ollama stop` | 停止模型 |
| `ollama rm` | 刪除模型 |
| `ollama version` | 查看版本 |
| `ollama help` | 查看命令說明 |
不同 Ollama 版本可能會增加或調整部分命令,遇到不一致時可直接執行:
```bash
ollama help
```
相關學習地圖、教學課程
Python 人工智慧