筆電螢幕顯示程式碼,象徵在本機環境部署與串接 Ollama LLM 服務

← INSIGHTS & PERSPECTIVES | 生成式AI

Ollama 本地端運行 LLM 服務教學

介紹 Ollama 如何在本機運行大型語言模型、建立自訂模型、使用 API 與選擇常見模型。

Ollama 是一個能在本機運行大型語言模型(Large Language Model,LLM)的開源工具。開發者可以用 Ollama 下載模型、建立自訂角色、啟動本地 API,讓敏感資料留在自己的硬體環境中處理。

Ollama 適合解決什麼問題?

Ollama 適合需要本地執行、快速測試、多模型切換與 API 串接的 LLM 工作流。Ollama 對開發者特別友善,因為主要操作都能用命令列完成。

Ollama 的主要優點包括:

優點說明
本地端運行模型在自己的電腦或伺服器上執行,可降低資料外送風險
易於使用提供命令列介面與 API,安裝後即可拉取模型
彈性部署支援 Llama、Mistral、Gemma、Phi 等不同模型
易於整合可以用 HTTP API 串接自有應用、後端服務或自動化流程

Ollama 可用於文字生成、摘要、問答、情感分析、程式碼生成與內部知識庫原型。若目標是快速比較多個模型,Ollama 比手動部署模型伺服器更省時間。

Ollama 與 LM Studio 差在哪裡?

Ollama 偏向命令列、API 與服務整合,LM Studio 偏向桌面介面與互動測試。若要把本地模型接進後端系統,Ollama 通常更直接。

功能OllamaLM Studio
原生功能集基本但夠用桌面功能較豐富
使用介面Command line 與 API視窗介面
開源性
支援系統Windows、macOS、LinuxWindows、macOS
擴展方式適合 API 呼叫與伺服器整合較偏本地端應用程式

Ollama 本身可以當成一個本地 API 服務。這個特性讓線上服務、內部工具或自動化腳本能用 HTTP 呼叫本地模型。

```bash

curl http://localhost:11434/api/chat -d '{

"model": "llama3",

"messages": [

{ "role": "user", "content": "why is the sky blue?" }

]

}'

```

如何安裝 Ollama?

Ollama 可在 macOS、Windows 與 Linux 安裝。開發者先確認作業系統與硬體記憶體,再選擇適合的模型大小。

常見安裝入口:

  • macOS:使用 Ollama 官方下載檔。
  • Windows:使用 Ollama Windows 安裝程式。
  • Linux:使用官方安裝指令。

```bash

curl -fsSL https://ollama.com/install.sh | sh

```

安裝後可以用 `ollama run llama3` 測試是否能成功下載並啟動模型。

如何使用 Ollama 建立自訂模型?

Ollama 使用 `Modelfile` 設定基礎模型、temperature 與 system message。這種方式適合建立固定角色、固定語氣或固定任務的本地模型。

先拉取模型:

```bash

ollama pull llama3

```

建立 `Modelfile`:

```bash

FROM llama3

PARAMETER temperature 1

SYSTEM """

You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.

"""

```

接著建立並執行模型:

```bash

ollama create mario -f ./Modelfile

ollama run mario

```

常用模型管理指令:

```bash

ollama create mymodel -f ./Modelfile

ollama rm llama3

ollama cp llama3 my-model

ollama serve

sudo systemctl restart ollama

```

Ollama API 怎麼呼叫?

Ollama API 預設在 `localhost:11434` 提供服務。應用程式可以呼叫 `/api/chat` 或 `/api/generate`,取得串流或非串流回應。

使用 `/api/generate` 的範例:

```bash

curl http://localhost:11434/api/generate -d '{

"model": "llama3",

"prompt": "Why is the sky blue?"

}'

```

回應會以 JSON 物件流返回:

```json

{

"model": "llama3",

"created_at": "2023-08-04T08:52:19.385406455-07:00",

"response": "The",

"done": false

}

```

實作時可以先用 curl 驗證模型,再把同一個端點接到後端服務。這是本文保留的實務判斷:先把本地模型視為一個可替換的 API,而不是直接綁死在應用邏輯裡。

Ollama 可用模型怎麼選?

Ollama 模型選擇要同時看參數量、檔案大小與硬體記憶體。小模型適合快速測試,大模型適合品質要求較高的任務。

ModelParametersSizeDownload
Llama 38B4.7GB`ollama run llama3`
Llama 370B40GB`ollama run llama3:70b`
Phi 3 Mini3.8B2.3GB`ollama run phi3`
Phi 3 Medium14B7.9GB`ollama run phi3:medium`
Gemma 29B5.5GB`ollama run gemma2`
Gemma 227B16GB`ollama run gemma2:27b`
Mistral7B4.1GB`ollama run mistral`
Code Llama7B3.8GB`ollama run codellama`
LLaVA7B4.5GB`ollama run llava`

若只是測試本地 API 串接,可先從 7B 到 9B 級模型開始。若要做程式碼或推理任務,再依硬體資源往更大的模型調整。

常見問題

QOllama 一定要 GPU 才能使用嗎?

Ollama 不一定要 GPU 才能啟動,但 GPU 會明顯改善推理速度。若只是在本機測試 API 或小模型,CPU 也可以先跑原型。

QOllama 適合放在伺服器上嗎?

Ollama 適合放在內部伺服器上,作為本地 LLM API。正式使用時要另外處理存取控制、資源監控與模型版本管理。

QOllama 和 LM Studio 要選哪一個?

需要視窗介面測模型時可以選 LM Studio。需要命令列、自動化、後端 API 串接時,Ollama 更適合。

QOllama 可以建立自己的模型角色嗎?

Ollama 可以用 `Modelfile` 設定 system message、temperature 與基礎模型。這種方式適合建立固定語氣或固定任務的模型變體。

QOllama 的 API 可以接到網頁服務嗎?

Ollama 的 API 可以接到網頁服務,但建議不要把本機端點直接暴露到公網。較安全的做法是由後端服務代理呼叫,並加上權限控管。

參考資料

最後更新

Wed Jul 24 2024 08:00:00 GMT+0800 (Taiwan Standard Time)

延伸閱讀

關於作者 {#author}

Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。

首次發布:2024-07-24