Ollama+Open WebUI:給本機 AI 一個漂亮的聊天介面

專家 依官方資訊整理 Mac · 圖文 8 分鐘 · 更新 2026/3/23
iLab學校技術長進階技術・終端機・系統維修・依官方資訊整理
已有 11,233 人學會這個技巧
簡報模式
在 Mac 安裝 Ollama 後,用 Docker 或 pip 跑起 Open WebUI,就能在瀏覽器用媲美 ChatGPT 的介面與完全本機的 AI 模型對話,資料不出機器。

開始前

適用系統macOS 14 以上
字級

門市常有人問我同一句話:「在自己 Mac 上跑 AI,是不是只能盯著黑底白字的終端機打指令?」會這樣想很正常,因為網路上多數教學就停在 ollama run 那一步,畫面醜得讓人提不起勁用第二次。但其實只要在後面接上一個叫 Open WebUI 的東西,你打開瀏覽器看到的,就是一個跟 ChatGPT 幾乎沒兩樣的聊天視窗——差別在於,所有對話一個字都不會離開你這台機器。

我自己的工作機就是這樣設定的。沒網路也能用、客戶資料丟給它整理也不怕外流,這兩點是我會推薦進階使用者花半小時搞定它的真正理由。

先把引擎裝起來:Ollama

整套東西分兩層,底層是負責「真正跑模型」的 Ollama,上層才是好看的介面。順序不能反,所以先處理 Ollama。

ollama.com 抓 macOS 版的 .dmg,拖進「應用程式」就裝好了。裝完不會跳出什麼大視窗,你要看的是螢幕右上角選單列——出現那個羊駝圖示,就代表背景服務已經在跑,預設守在 http://localhost:11434 這個位址等人來連。

它不吃 Docker,本身自帶 Metal 加速,在 Apple Silicon 上是直接調用 GPU 推論的,速度跟純用 CPU 差一大截,這也是為什麼我會強調機型。M1 到 M4 都吃得很開。

接著要把模型抓下來。開「終端機」,挑你想用的拉:

# Llama 3.2(3B,輕量,8GB RAM 也跑得動)
ollama pull llama3.2

# Gemma 3(4B,Google 的,多語言底子好)
ollama pull gemma3

# Qwen2.5(7B,繁體中文是這幾顆裡最順的)
ollama pull qwen2.5

模型會落在 ~/.ollama/models,3B 大概 2 GB、7B 約 4 到 5 GB。拉完用 ollama list 看一下在不在:

ollama list
# NAME              ID              SIZE    MODIFIED
# llama3.2:latest   a80c4f17acd5    2.0 GB  2 minutes ago
# qwen2.5:latest    845dbda0ea48    4.7 GB  5 minutes ago

懶得開介面就想先確認後端活著的話,直接在終端機丟一句問問它:

ollama run qwen2.5 "用繁體中文介紹你自己"

它願意回話,引擎這層就沒問題了,可以往上蓋介面。

蓋上好看的那層:Open WebUI

Open WebUI 有兩條路可走。我帶過的人裡,十個有八個我會直接叫他用 Docker,因為穩、重開機自己會回來;真的不想碰 Docker 的才走 pip。

Docker 這條(我推這個),先裝好 Docker Desktop for Mac,然後就一行:

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

這行裡有幾個地方值得知道在幹嘛,不然出問題你不知道從哪找:-p 3000:8080 是把容器內的 8080 接到你 Mac 的 3000 埠;--add-host 那段是讓容器有辦法回頭連到 Mac 上的 Ollama,少了它兩邊就接不上;-v open-webui:... 是把你的對話紀錄跟設定存進 Docker Volume,這樣容器砍掉重建資料還在。

跑起來後瀏覽器開 http://localhost:3000,第一次進去要你建一個管理員帳號——這帳號只活在本機,不會上傳到任何地方,放心填。

pip 這條留給已經有 Python 3.11 以上、又鐵了心不裝 Docker 的人:

pip install open-webui
open-webui serve

它的位址是 http://localhost:8080。不過 pip 在 macOS 上偶爾會跟系統的 Python 套件吵架,依賴版本撞在一起。我的習慣是先 python -m venv ~/.venv/openwebui 開個獨立環境再裝,免得哪天牽連到別的東西。

讓兩邊接上線,然後開聊

Open WebUI 多半會自己抓到本機的 http://localhost:11434。沒抓到也別慌,手動填就好:進「設定 → 管理員面板 → 設定 → 連線 → Ollama API」,Docker 裝的填 http://host.docker.internal:11434,pip 裝的填 http://localhost:11434,按「驗證連線」看到綠燈就成了。

回首頁,頂部那個下拉選單挑一顆下載好的模型(比方 qwen2.5:latest),就能打字了。值得一玩的功能不少:左側欄點「新對話」就自動分檔保存歷史;對話設定裡的進階參數能塞 System Prompt,給 AI 捏個固定人設;PDF、txt 直接拖進對話框,它就會讀那份文件回答你(這就是常聽到的 RAG,而且整個在本機算);對話框上方點「+」還能同時把一個問題丟給好幾顆模型,左右擺著比誰答得好。

想更上手:參數跟自訂模型

對話框左下角的齒輪可以即時動幾個旋鈕。Temperature 那條 0 到 2,越低越死板精確、越高越天馬行空,日常我大概放 0.7 到 1.0;Context Length 決定它記得多少前文,M2、M3 以上開到 8192 甚至 16384 都行,代價是更吃記憶體;Top-P、Top-K 這兩個多數時候別動,預設就夠用。

如果你某顆模型每次都要交代一樣的開場設定,可以用 Ollama 的 Modelfile 把系統提示直接烤進去,做一顆自己的版本:

cat > ~/Modelfile << 'EOF'
FROM qwen2.5

SYSTEM """
你是 iLab 學校的 Apple 技術助理,專門回答 macOS、iOS 相關問題。
回答時使用繁體中文,風格簡潔、精準、友善。
"""
EOF

ollama create ilab-assistant -f ~/Modelfile
# 做好之後 Open WebUI 的下拉選單就會多出 ilab-assistant

記憶體這關得認清現實。Apple Silicon 是統一記憶體,RAM 是 CPU 跟 GPU 一起分的。跑 7B 至少要留 8 GB 空閒,14B 得 16 GB 起跳。想看它到底有沒有在操 GPU,終端機這行盯著看:

sudo powermetrics --samplers gpu_power -i 2000 | grep "GPU Active"

回應突然變慢,先去「設定 → 一般 → 儲存空間」看磁碟還夠不夠,再把背景那些吃記憶體的 App 收一收,通常就回來了。

兩個最常被問倒的狀況

連線一直顯示失敗,八成是這三件事之一。第一,Ollama 根本沒在跑——看一眼選單列圖示,或終端機補一句 ollama serve。第二,也是最常見的,Docker 裡填了 localhost——容器裡的 localhost 不是你的 Mac,要改 http://host.docker.internal:11434 才對。第三,Mac 防火牆把 11434 埠擋了,去「設定 → 網路 → 防火牆 → 選項」放行 Ollama。

慢到想砸鍵盤,先確認它是不是真的在用 GPU。跑 ollama run llama3.2 "test" 的時候,活動監視器的「GPU 記憶體」該明顯往上跳;完全沒動,多半是被 Rosetta 模擬拖著用 CPU 在算,回官網下載頁重抓標明「macOS (Apple Silicon)」的原生版。再不行,就用小一點的模型(3B 換掉 7B)、把 Context Length 縮短、關掉佔 RAM 的程式,這幾招疊起來很有感。

整套搞下來會發現,本機 AI 真正卡人的從來不是設定難,而是你那台 Mac 的記憶體跟晶片撐不撐得住——同一份指令,M4 跟舊機跑起來是兩種人生。如果你正考慮把工作機換成有本錢跑這類在地模型的機型,不確定該配多少記憶體、選哪顆晶片,到 /choose 我們幫你按用途配,或直接來店裡讓我們把模型實際跑給你看,再決定也不遲。

這篇對你有幫助嗎?
延伸閱讀

相關教學

為你精選

猜你喜歡

外觀
點綴色