# Ollama 和 Open WebUI -- 在本機使用 LLM ![ollama_title](https://hackmd.io/_uploads/BkcAIdAfex.png) 在本機使用大型語言模型 LLM 時, 我們特別推薦 Ollama -- 因為它非常簡潔, 特別自己寫程式時也很容易管理在本機的 LLM。當然, 一般我們還是想用像 ChatGPT 等這樣的介面去使用大型語言模型。Ollama 有非常多第三方提供的 GUI 界面, 其中最常用、也在各平台中都有的大概是 Open WebUI。因此這裡介紹 Ollama 和 Open WebUI 的安裝與使用。 ## 01. 安裝 Anaconda 雖然也可以用任何自己裝的 Python 環境 (使用 Open WebUI) 時, 但這裡假設大家有裝了 Anaconda 的 Python 環境。還沒有裝的話, 請到[官方下載區](https://www.anaconda.com/download)下載安裝。 ## 02. 下載安裝 Ollama 大家、特別是習慣終端機使用的人, 很愛 Ollama 的主因是可以用很簡潔的指令, 在終端機裡操作。但是他們下載和安裝是非常令人失望 (?) 的就是圖形化的介面! 你可以直接到 [Ollama 官網](https://ollama.com/)下載安裝。比如在 Mac 上, 就是拉到你的應用程式資料夾中就可以了。 ![command_line](https://hackmd.io/_uploads/H1gXquCflg.png) 唯一要提醒的是第一次執行, 看到要安裝指令列工具時, 就選 `Install`。 ## 03. 安裝 LLM 模型 Ollama 安裝執行後, 預設都是自動執行的, 所以幾乎沒有機會自己打指令執行。再來是我們的重點, 要安裝語言模型了。通常最簡單的就是 Google 你要要的模型, 加上 Ollama。比如, 想安裝 Google 的 Gemma 3, 我們就搜尋 `Gemma3 Ollama`, 就可以找到 Gemma 3 在 Ollama 的頁面。 ![gemma3](https://hackmd.io/_uploads/SkMV3_CMlx.png) 要安裝可以直接 copy 右上角的那行指令, 不過我們建議把 `run` 改成 `pull`, 就像這樣: ```bash ollama pull gemma3 ``` 這樣就是下載一個模型, 但是不會執行。相信我們在正常的心智下, 沒有那麼想直接在終端機執行大型語言模型 (還是您有這個嗜好, 那當我沒說)。 ## 04. 模型選擇的一些細節 許多模型, 比如說 Gemma 3, 都有各種不同大小的模型。像在 Gemma 3 中, 有 1b, 4b, 12b, 27b 等等大小的版本。其中 b 是 10 億, 也就是 1b 有 10 億個參數, 4b 有 40 億個參數, 以此類推。 你會發現有個 `latest`, 剛剛的指令, 其實就是選擇 `latest` 的版本。而後面也有指出, `latest` 版本到底是哪個版本, 以 Gemma 3 為例, 就是 `gemma3:4b`。也就是說, 我們下達 `ollama pull gemma3` 和 `ollama pull gemma3:4b` 是一樣的意思。 ![ollama_pull](https://hackmd.io/_uploads/rkko7KAGge.png) 另外可能會困擾大家的, 是不知道我自己的電腦, 可以跑多大的模型。這裡有一個簡單的看法, 就是你看 `size`, 也就需要多大硬碟空間, 這個數字就「差不多」是你 GPU VRAM 需求的大小。例如剛剛的 `gemma3:4b`, 只要 VRAM 大於 3.3GB 應該都沒有問題。在 Mac 上因為是「共用記憶體」, 所以你的 RAM 多大, 基本上就好像 VRAM 有多大。當然, 要注意需要保留一些記憶體跑系統程式等等。 ## 05. One More Thing 有時你可能會聽說最近有了什麼特別版本, 比方好多人在推薦 Gemma 3 的 `QAT` 版。但是在原來的那串名單中找不到, 這時就要勇敢地往下拉。你會看到一些特別版的介紹。 ![view_all](https://hackmd.io/_uploads/BylgKF0fxg.png) 安裝指令也在那裡, 把 `run` 改成 `pull` 就好。當然, 你可能還是想知道這個模型實際多大, 那可以在前面的清單右上那個 `View all` 點一下, 就會出現所有你可以下載的版本。 ## 06. Ollama 其他指令 雖然 `pull` 幾乎是我們會用到的全部指令, 不過偶而你可能想看看到底裝了哪些模型, 有時想刪去不會用的模型。這些指令其實不用記, 直接在終端機打入 `ollama`, 什麼都不用加, 就會提示你 Ollama 該怎麼用。 ![ollama_help](https://hackmd.io/_uploads/SJN2cKAfeg.png) ## 07. 呼叫 Ollama Ollama 預設的 port 是 `11434`。例如, 你想在自己電腦上, 用 OpenAI API 呼叫 Ollama, 網址 (`bsae_url`) 就是: ```python3 base_url="http://localhost:11434/v1" ``` 模型 (model) 就是所有你有安裝的模型, 都可以呼叫使用。 ## 08. 更新 Ollama 比方說在 Mac 上, 如果 Ollama 有更新的話, 會在工具列 Ollama 的 icon 那裡出現一個小小的、向上的箭頭。這時按下 Ollama icon, 選擇 `Restart to update` 就會自動下載更新、安裝、重新啟動 Ollama。 ## 09. Open WebUI -- 最有名的 Ollama GUI 界面 在 [Ollama 官方 GitHub](https://github.com/ollama/ollama) 上, 往下拉會看到非常多支援 Ollama 的網路或桌面應用程式。不過最有名的, 大概是 [Open WebUI](https://openwebui.com/)。加上 Open WebUI 跨平台、免費使用, 又支援多模態 (比如圖像) 輸入, 因此我們這裡特別介紹怎麼安裝使用。 ## 10. 安裝 Open WebUI 要安裝 Open WebUI, 最容易的方式大概是用 `pip install` 的方式。請在終端機下安裝: ```bash pip install open-webui ``` 你可能會出現安裝失敗!! 不要慌張, 這通常是 Python 版本太新, Open WebUI 沒有跟上。我們開個新的 Python 環境, 指令比較保守的 Python 版本就好。比如說: ```bash= conda create -n openwebui python=3.11 conda activate openwebui pip install open-webui ``` 這樣就可以了。只是要記得, 要執行 Open WebUI 時, 都要先用進入我們建的 `openwebui` 虛擬環境中。 ```bash conda activate openwebui ``` ## 11. 執行 Open WebUI Server 請在終端機打入: ```bash open-webui serve ``` 就可以執行! 第一次執行會花點時間, 看「穩定」了之後, 就可以執行。預設的 port 是 8080, 請在瀏覽器打入: ```bash http://localhost:8080/ ``` 一開始會出現好像新的作業系統什麼的感覺。 ![openwebui](https://hackmd.io/_uploads/BJfXr90Mgg.png) 接著會要你建立管理員帳號 (不就在自己電腦上執行, 怎麼弄得這麼複雜)。 ![openwebui_singin](https://hackmd.io/_uploads/SJrG89CGxl.png) 然後就會看到, 有如 ChatGPT 等網路上的 LLM 使用界面。Open WebUI 完全不用設定, 就可以連上你的 Ollama, 也可以選擇所有你安裝好的模型。 ![openwebui_chat](https://hackmd.io/_uploads/rJSBw9Azge.png)