在人工智慧(AI)席捲全球的今天,ChatGPT、Claude 等雲端大型語言模型已經成為我們生活中的得力助手。但你心中是否曾有隱憂:「我的商業機密、隱私資料傳到雲端真的安全嗎?」為解決這痛點,「本地端部署」成為了最終歸宿。想像一下,擁有一台完全斷網也能運作的超級大腦,不依賴網路、不收月費、更不會偷拿你的對話記錄去訓練模型。現在,只需透過三個開源神兵:Docker、Ollama 與 Open WebUI,就能輕鬆實現!這篇文章將手把手帶你完成架設教學,打造專屬的地表最強本地 AI 助理!

 

 

1. 解構黃金鐵三角,認識每一位超級英雄

在我們把這套強大的系統組合起來之前,必須先了解每一個零件的核心價值與優勢。

1.1 Docker:軟體世界的「萬能貨櫃輪」

要解釋 Docker 是什麼,我們可以用一個非常具象的比喻:海運貨櫃。在貨櫃發明以前,碼頭工人必須根據貨物不同使用不同的搬運方式,耗時且易損壞。直到「標準化貨櫃」出現,任何貨車、貨輪都能無縫接軌地運送它。

在軟體世界中,傳統應用程式安裝常遇到「Python 版本不對」或「與作業系統衝突」的慘劇,也就是著名的「在我的電腦上明明可以跑」難題。

Docker 的核心優勢:
  • 完全隔離、零污染:將軟體與環境打包成獨立「容器」,不弄髒原本系統。
  • 隨處運行:只要安裝了 Docker,Windows、Mac 還是 Linux 效果皆同。
  • 快速部署與刪除:不想用了直接刪除容器,毫無殘留檔案。

1.2 Ollama:讓大型語言模型「平民化」的魔法師

Ollama 出現之前,要在自己的電腦上跑大型語言模型是一場噩夢。你需要處理複雜的 Python 環境、顯示卡驅動、下載龐大權重檔案,還要自己寫程式啟動。

Ollama 的誕生終結了混亂。它將複雜的底層運作包裝成極度簡潔的執行檔,並大量使用「量化(Quantization)」技術,讓原本需要高階顯卡的模型,只要一般記憶體就能流暢運行。

Ollama 的核心優勢:
  • 極簡命令列操作:只需一行指令即可自動下載並啟動對話。
  • 極致效能優化:深度優化 Apple Silicon 與 GPU,自動切換最適合的運算模式。
  • 豐富模型庫:內建支援 Llama 3、Gemma、Qwen 等知名開源模型。

1.3 Open WebUI:賦予靈魂的絕美介面

既然 Ollama 能跑模型了,為何還需要 Open WebUI?因為沒有人想天天看著黑底白字的終端機跟 AI 聊天!

Open WebUI 目標明確:打造完全開源、可離線運行,且體驗逼近 ChatGPT 的網頁互動介面。它與 Ollama 天生絕配,能自動抓取已下載的模型讓你輕鬆切換。

Open WebUI 的核心優勢:
  • 絕佳的用戶體驗:支援 Markdown、程式碼高亮、數學公式顯示及繁體中文。
  • 強大的 RAG 功能:直接拖曳 PDF 或 Word 檔案,AI 自動閱讀並回答問題。
  • 多重帳號與權限管理:可開帳號給家人同事使用,並設定存取權限。

2. 統整介紹,為何這三者是「完美絕配」?

將這三個工具綁在一起,並透過 Docker 統一管理,有著無可取代的統整優勢:

優勢一:真正的「一鍵部署」與「環境一致性」

透過 Docker Compose 設定檔,只需一個指令,Docker 就會自動拉取 Ollama 與 Open WebUI,在隔離的容器中啟動並自動接通網路,大幅降低入門門檻。

優勢二:完美的模組化解耦

未來若是 Ollama 或 Open WebUI 單獨更新,你只需要單獨升級該容器,不會影響到彼此;想加入新工具時也只要再掛一個新容器即可。

優勢三:資料主權與網路安全極大化

切斷外部網路也能完美運行,將機密合約丟進 Open WebUI 分析,資料只在硬碟與記憶體間流動,不傳送到雲端,是注重隱私的唯一解方。

3. 實戰演練!保姆級架設教學

接下來我們將使用 Docker Compose 一次性把這套地表最強 AI 組合架設起來!

前置準備與硬體建議

  • 記憶體 (RAM):建議至少 16GB 以求流暢運行。
  • 顯示卡 (GPU):強烈建議配備 NVIDIA 顯示卡或 Apple M 系列晶片,生成速度大幅提升。
  • 必備軟體:請至官網下載並安裝 Docker Desktop 並確保其在背景執行。

步驟一:建立 Docker Compose 檔案

建立一個資料夾命名為 local-ai-stack,並在裡面建立 docker-compose.yml 檔案,貼上以下魔法設定碼:

寫法 A:使用 CPU 運算或 Mac M系列晶片

version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_data:/root/.ollama
    restart: always

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - ./open-webui_data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=https://ollama:11434
    depends_on:
      - ollama
    restart: always

寫法 B:使用 Windows/Linux 且擁有 NVIDIA 顯示卡

version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ./ollama_data:/root/.ollama
    restart: always
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - ./open-webui_data:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=https://ollama:11434
    depends_on:
      - ollama
    restart: always

步驟二:啟動魔法,啟動 Docker 容器

打開終端機 (Terminal) 或命令提示字元,使用 cd 切換到剛建立的資料夾,輸入以下指令:

docker-compose up -d

Docker 會開始從雲端下載環境,當顯示 Started 綠字時,基礎設施就完成了!

步驟三:進入 Open WebUI 並建立帳號

打開瀏覽器輸入 https://localhost:3000,點擊「Sign Up」註冊第一個帳號,此帳號會自動成為超級管理員(全程在本地端完成,非常安全)。

步驟四:下載 AI 模型(賦予系統大腦)

進入設定 (Settings) > 管理員設定 > 模型 (Models)。在拉取模型的輸入框中輸入你想下載的模型,例如 llama3:8bqwen2:7b,點擊下載即可。

步驟五:開始享受專屬的 AI 助理!

回到主畫面選擇剛下載的模型,輸入:「你好,請用繁體中文自我介紹!」看著它流暢地回覆,這完全離線、無所不知的專屬 AI 已經誕生了!

4. 進階玩法:讓 AI 讀懂你的私人文件 (RAG)

點擊對話框旁邊的迴紋針圖示,上傳 PDF 報告或原始碼,Open WebUI 會自動在背景啟動向量化模型。接著你就能直接問它:「請幫我總結這份文件的核心策略?」AI 會精準翻閱並回答,效率翻倍!

5. 結語:取回科技的主導權

從手動敲打複雜指令,到現在只需一份 Docker Compose,本地端 AI 的門檻大幅降低。這個組合讓我們在這個資料時代,重新取回了隱私與運算能力的主導權,立刻動手架設吧!

免責聲明 (Disclaimer)
本文所提供之架設教學與技術資訊僅供學習、測試與研究參考。在不同作業系統、硬體配置及軟體版本下,實際運行結果可能有所差異。強烈建議在進行任何系統環境變更前,確實做好資料備份工作。作者與本部落格不對因參考本教學而產生之任何軟硬體損壞、資料遺失或資安問題負擔任何直接或間接之法律責任。讀者在下載與使用各開源 AI 模型時,請務必遵守各該模型發布者之開源授權條款與使用規範。
創作者介紹
創作者 小黃老師嘿技術 的頭像
小黃老師

小黃老師嘿技術

小黃老師 發表在 痞客邦 留言(0) 人氣( 238 )