目錄

Gemma 本地部署教學,使用 Ollama 在本機與 GPU Server 上快速運行 Google 開放模型

Gemma 是 Google DeepMind 推出的開放模型家族,與 Gemini 系列有相同技術血緣,但定位更偏向讓開發者、研究人員與企業可以自行部署、調整與整合。對企業來說,Gemma 的價值不只是「可以在本機聊天」,而是可以把 AI 模型放在自己的伺服器、內網、GPU 主機或私有雲環境中,進一步串接內部知識庫、客服系統、ERP、CRM、文件庫與自動化流程。Google DeepMind 官方說明,Gemma 是由 Gemini 技術延伸而來的一系列輕量開放模型。

 打從 2026 年起,Gemma 已進入 Gemma 4 世代。Gemma 4 提供 E2B、E4B、26B A4B、31B 等版本,並支援更長的 context window,其中 E2B / E4B 最高支援 128K tokens,26B A4B / 31B 最高支援 256K tokens。Google 官方也將 Gemma 4 定位為適合 advanced reasoning、coding assistant、agentic workflow 與 local-first AI server 的模型家族。

這篇文章會用實務部署角度,教你如何使用 Ollama 快速運行 Gemma,並補齊部署前環境檢查、Linux 安裝指令、Docker Compose、Open WebUI、API 測試、n8n / WordPress 串接概念,以及常見錯誤排除方式。

Gemma 是什麼?

Gemma 是 Google 推出的開放權重 AI 模型家族。簡單來說,它和只能透過雲端 API 呼叫的模型不同,Gemma 可以下載模型權重,並在自己的本機、伺服器、雲端主機或 GPU 主機上執行。

對企業而言,Gemma 有幾個核心價值:

企業需求
Gemma 的價值
資料不想送到外部 API
可在自有環境中部署模型
想建立內部 AI 助理
可串接 SOP、FAQ、技術文件與知識庫
想降低長期 API 成本
可用主機與 GPU 成本取代部分 token 成本
想做 AI PoC
可快速測試模型能力、提示詞與 RAG 流程
想整合內部系統
可透過 API 串接 WordPress、n8n、ERP、CRM

Gemma 不是萬能解法,但它非常適合作為企業私有 AI 的起點。尤其當公司開始在意資料安全、內部文件查詢、自動化流程與 AI 成本控管時,本地部署模型就會變得很有價值。

為什麼建議用 Ollama 部署 Gemma?

Ollama 是目前部署本地 LLM 最容易上手的工具之一。它把模型下載、模型管理、命令列執行與本地 API 服務包在一起,使用者不需要手動處理模型格式、推論參數或複雜啟動流程。

Ollama 官方文件說明,安裝完成後,本地 API 預設會透過 http://localhost:11434/api 提供服務,也可以直接使用 curl 呼叫模型。這代表 Gemma 不只可以在終端機互動,也可以被 WordPress、Laravel、Python、n8n、內部後端服務或 Open WebUI 呼叫。

Ollama 適合用在以下情境:

使用情境
是否適合 Ollama
個人測試 Gemma
很適合
小型企業 PoC
很適合
Open WebUI 內部聊天介面
很適合
n8n 自動化流程串接
適合
RAG 知識庫原型
適合
高併發正式商用推論
建議再評估 vLLM / TensorRT-LLM / Kubernetes GPU 架構

簡單來說,Ollama 適合快速開始、驗證模型效果與建立 PoC。如果未來要做到高併發、多模型路由、GPU 叢集、推論加速與正式商用 SLA,再進一步評估 vLLM、TGI、TensorRT-LLM 或 Kubernetes 架構會比較合理。

Gemma 版本怎麼選?Gemma 4、Gemma 3、Gemma 3n 差在哪?

目前寫 2026 版本文章,建議以 Gemma 4 為主線,Gemma 3 與 Gemma 3n 作為補充。原因很簡單:Gemma 4 是最新一代核心模型,具備更完整的 reasoning、長上下文、多模態與 agentic workflow 能力;Gemma 3n 則適合低資源與端側裝置。

Gemma 4:2026 主力部署選擇

Gemma 4 是目前最值得優先測試的版本。Google 官方的 Gemma + Ollama 文件列出 Gemma 4 在 Ollama 上可用的 E2B、E4B、26B A4B 與 31B 版本,使用者可以直接透過 Ollama 下載與執行。

需要特別注意的是,Gemma 4 的 26B A4B 採用 MoE 架構。A4B 的意思是 active 4B,也就是推論時會啟用部分 active parameters,因此運算效率比傳統同級 dense model 更有彈性。但這不代表它真的只需要 4B 模型的記憶體。Google 官方文件列出 Gemma 4 26B A4B 在不同精度下的模型載入記憶體需求約為 BF16 48GB、SFP8 25GB、Q4_0 15.6GB,而且這些數字仍會受到實際推論工具與部署環境影響。

Gemma 4 模型選擇建議

模型版本
核心特色
建議硬體
適合場景
gemma4:e2b
輕量、適合本地快速測試
8GB VRAM 或高階 CPU 測試
個人測試、簡易問答、小型工具
gemma4:e4b
輕量但能力更完整
8GB–16GB VRAM
中小企業 PoC、簡易 RAG、文件摘要
gemma4:26b
MoE A4B 架構,推理品質與效率兼顧
24GB VRAM 可測試 Q4;正式建議 48GB+
企業知識庫、工程助理、進階 RAG
gemma4:31b
較高品質推論,適合大型任務
正式建議 48GB–80GB VRAM
高品質私有 AI、長文件分析、多部門應用

這裡要強調:能載入模型,不代表能穩定服務多人 一旦你開始做長文件 RAG、多人同時使用、Open WebUI 聊天室、n8n 自動化或 API 併發,VRAM 會被 KV cache、context 與推論框架吃掉。因此企業正式部署時,不能只看模型檔案大小,而要看實際併發、context 長度與服務穩定度。

Gemma 3:相容性高,適合備援或既有流程

Gemma 3 仍然有價值,尤其是你已經在舊流程中使用過 Gemma 3,或 Open WebUI、n8n、RAG 測試環境原本就是用 Gemma 3 建立。它適合作為相容性高、資源需求較容易預估的備援模型。

如果企業環境已經有穩定使用 Gemma 3,不一定要立刻全部改成 Gemma 4。比較務實的做法是:

部署建議:
  • Gemma 3:保留為穩定備援,適合既有流程或相容性測試。
  • Gemma 4:用於新任務、新 PoC 與企業主力部署。
  • Gemma 3n:用於低資源、離線或端側裝置測試。

Gemma 3n:適合低資源、離線與端側裝置

Gemma 3n 是針對手機、筆電、平板等日常裝置設計的高效率模型。Google 官方文件指出,Gemma 3n 使用 parameter skipping 與 PLE caching 等技術,讓模型能以更低的有效記憶體負載運行。

Gemma 3n 適合以下場景:

場景
是否適合
場景 是否適合 筆電本地 AI 助理
適合
離線問答工具
適合
邊緣裝置 AI
適合
手機 / 平板端側應用
適合
企業長文件 RAG
較不建議作為主力
高品質程式碼助理
建議改用 Gemma 4 較大版本

如果你的目標是「低成本、低延遲、可離線」,Gemma 3n 很適合。如果你的目標是「企業知識庫、長文件分析、工程助理、客服後台」,建議優先測試 Gemma 4 E4B、26B 或 31B。

部署前硬體需求建議

Gemma 可以用 CPU 執行,但正式服務仍建議使用 GPU 主機。原因很簡單:CPU 可以跑,不代表速度可以接受。對企業來說,真正影響體驗的是回應延遲、多人併發、context 長度、RAG 文件量與穩定性。

硬體需求快速建議

使用情境
建議硬體
建議模型
個人測試
16GB RAM 以上
Gemma 3n、Gemma 4 E2B
小型 PoC
32GB–64GB RAM,8GB–16GB VRAM
Gemma 4 E4B
RAG 知識庫測試
64GB RAM,16GB–24GB VRAM
Gemma 4 E4B、Gemma 4 26B Q4
工程助理 / 長文件分析
128GB RAM,24GB–48GB+ VRAM
Gemma 4 26B、31B
多人企業服務
GPU Server,48GB–80GB+ VRAM
Gemma 4 26B、31B 或更高階架構

Google 官方列出的 Gemma 4 推論記憶體需求顯示,Gemma 4 E4B 在 Q4_0 約需 5GB,Gemma 4 26B A4B 在 Q4_0 約需 15.6GB,Gemma 4 31B 在 Q4_0 約需 17.4GB;但實務上仍建議預留更多 VRAM,尤其是你要使用長上下文、多人併發或 RAG 時。

如果你不確定 Gemma 4 E4B、26B A4B 或 31B 需要多少 GPU VRAM,可以先參考 TAKI Cloud 的 GPU 雲端主機GPU 算力租用價目表,依照 PoC、RAG 知識庫、API 推論或多人內部服務需求,選擇單卡 GPU Cloud 或整機 GPU Server 架構。

部署前環境檢查:先確認系統能不能跑

以下以 Ubuntu / Linux 為主。正式安裝 Ollama 之前,建議先做基本環境檢查,避免安裝完成後才發現 RAM 不夠、硬碟不足、GPU 沒被系統抓到,或 port 已經被占用。

1. 檢查作業系統版本

				
					cat /etc/os-release
uname -a
				
			
以下以 Ubuntu / Linux 為主。正式安裝 Ollama 之前,建議先做基本環境檢查,避免安裝完成後才發現 RAM 不夠、硬碟不足、GPU 沒被系統抓到,或 port 已經被占用。

你應該可以看到類似 Ubuntu、Debian、Rocky Linux、AlmaLinux 等系統資訊。企業部署建議使用 Ubuntu 22.04 / 24.04 LTS 或其他長期支援版本,維運與套件相容性會比較穩。

2. 檢查 CPU 資訊

				
					lscpu
				
			
Terminal window showing a black screen with white text listing VM hardware details (CPU model, cores, memory, virtualization features) and other system specs.

重點看:

				
					CPU(s)
Model name
Thread(s) per core
Core(s) per socket
Socket(s)
				
			

如果只是測試小模型,CPU 不用太高階;但如果你沒有 GPU,所有推論都會落在 CPU 上,回應速度會明顯變慢。

3. 檢查 RAM

				
					free -h
				
			
Terminal window showing a Linux system status: kernel mitigations listed; memory (Mem: total 503Gi, used 35Gi, free 16Gi) and swap (8.0Gi total, 3.8Gi used, 4.2Gi free) are displayed.

重點看:

				
					Mem:
Swap:
				
			

建議:

用途
RAM 建議
個人測試
16GB 起
小型 PoC
32GB–64GB
RAG / Open WebUI / Docker
64GB 以上
多人企業服務
128GB 以上

4. 檢查硬碟空間

				
					df -h
				
			

重點看 / 或 Docker / Ollama 模型存放路徑是否有足夠空間。模型檔案可能從幾 GB 到數十 GB 不等,如果你會測試多個模型,建議至少預留 100GB 以上空間。

也可以檢查目前目錄空間:

				
					du -sh .
				
			
重點看 / 或 Docker / Ollama 模型存放路徑是否有足夠空間。模型檔案可能從幾 GB 到數十 GB 不等,如果你會測試多個模型,建議至少預留 100GB 以上空間。

5. 檢查 NVIDIA GPU

如果你的主機有 NVIDIA GPU,先確認驅動是否正常:

				
					nvidia-smi
				
			

正常情況下會看到如下圖:

Terminal window displaying NVIDIA SMI status for multiple GPUs with temps, memory usage, and two Python processes running in .venv/bin/python

如果出現:command not found

代表 NVIDIA Driver 或工具尚未安裝。

如果出現:No devices were found

代表系統沒有偵測到 GPU,可能是驅動、硬體、PCIe、虛擬化 passthrough 或 BIOS 設定問題。

6. 檢查 11434 port 是否被占用

Ollama 預設使用 11434 port。安裝前可以先查:

				
					ss -lntp | grep 11434 || true
				
			

如果沒有輸出,代表目前沒有程式占用 11434。
如果有輸出,代表該 port 已被其他程式使用,後面可能需要調整 OLLAMA_HOST 或關閉衝突服務。

Linux 安裝 Ollama

1. 安裝 Ollama

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

#安裝完成後確認版本:

ollama --version
				
			

2. 檢查 Ollama 服務狀態

在 Linux 上,Ollama 通常會以 systemd 服務方式執行。檢查服務:

				
					sudo systemctl status ollama --no-pager
				
			

如果沒有啟動,可以手動啟動:

				
					sudo systemctl start ollama
				
			

設定開機自動啟動:

				
					sudo systemctl enable ollama
				
			

重新啟動服務:

				
					sudo systemctl restart ollama
				
			

查看 log:

				
					journalctl -u ollama -n 100 --no-pager
				
			

即時追蹤 log:

				
					journalctl -u ollama -f
				
			

3. 測試 Ollama API 是否正常

				
					curl http://127.0.0.1:11434/api/tags
				
			

如果正常,會回傳目前已安裝的模型清單。剛安裝時可能是空的,這是正常的。

也可以測試 Ollama 是否有在 listen:

				
					ss -lntp | grep 11434
				
			

下載與執行 Gemma 4

1. 下載 Gemma 4

先從較小模型開始,確認環境正常:

				
					ollama pull gemma4:e4b
				
			

如果你的主機資源較小,可以改用:

				
					ollama pull gemma4:e2b
				
			

如果你有較大的 GPU 主機,可以測試:

				
					ollama pull gemma4:26b
				
			

或:

				
					ollama pull gemma4:31b
				
			

2. 查看已下載模型

				
					ollama list
				
			

你會看到類似:

				
					NAME             ID              SIZE      MODIFIED
gemma4:e4b       xxxxxxxx        x.x GB    ...
				
			

3. 執行 Gemma

				
					ollama run gemma4:e4b
				
			

測試問題:

請用繁體中文說明 Gemma 本地部署適合哪些企業應用場景。

如果回應正常,代表模型已可運行。

使用 Ollama API 呼叫 Gemma

Ollama 不只是 CLI 工具,它也能提供本地 API。Ollama 官方文件指出,安裝後 API 預設服務位於 localhost:11434/api

1. 使用 /api/chat

				
					curl http://127.0.0.1:11434/api/chat -d '{
  "model": "gemma4:e4b",
  "messages": [
    {
      "role": "user",
      "content": "請用繁體中文整理 Gemma 本地部署的三個優點"
    }
  ],
  "stream": false
}'
				
			

2. 限制上下文長度,避免 OOM

如果你遇到記憶體不足,可以先限制 num_ctx

				
					curl http://127.0.0.1:11434/api/chat -d '{
  "model": "gemma4:e4b",
  "messages": [
    {
      "role": "user",
      "content": "請摘要這段文字..."
    }
  ],
  "options": {
    "num_ctx": 4096
  },
  "stream": false
}'
				
			

對 RAG 或長文件摘要來說,num_ctx 不應該一開始就開到最大。建議先用 4096 或 8192 測試,再依照 VRAM 使用狀況逐步增加。

3. `stream` 要設 true 還是 false?

Ollama API 的 `stream` 參數,是用來控制模型回答時的回傳方式。

如果設定為 `”stream”: false`,Ollama 會等 Gemma 完整生成答案後,再一次回傳結果。這種方式最適合 API 測試、n8n 自動化流程、批次摘要或後端程式處理,因為結果比較容易解析。

如果設定為 `”stream”: true`,模型會邊生成、邊回傳文字。這種方式比較適合聊天介面、客服助理或前端即時問答,使用者可以更快看到第一段回答,體驗比較接近 ChatGPT。

簡單來說:

  • 做 API 測試、n8n、批次摘要:建議用 `”stream”: false`
  • 做聊天介面、即時問答、前端串接:可以用 `”stream”: true`

如果你只是照本文測試 Gemma 是否正常運作,先使用 `”stream”: false` 就可以。

4. 即時監控 GPU 使用狀況

開另一個終端機:

				
					watch -n 1 nvidia-smi
				
			

觀察:

				
					GPU-Util
Memory-Usage
Processes
				
			

如果 Memory-Usage 快滿了,表示模型、context 或併發量已經接近 GPU 上限。

使用 Python 呼叫 Gemma

安裝 Python 套件:

				
					pip install ollama
				
			

建立 gemma-test.py

				
					from ollama import chat

response = chat(
    model='gemma4:e4b',
    messages=[
        {
            'role': 'user',
            'content': '請用繁體中文說明 Gemma 和 Gemini 的差異'
        }
    ]
)

print(response.message.content)
				
			

執行:

				
					python3 gemma-test.py
				
			

這種方式適合用於:

場景
用法
內部客服工具
產生客服回覆草稿
報表摘要
將長報表整理成重點
ERP / CRM 中介層
先查資料,再由模型整理回答
n8n 外部腳本
自動分類、摘要、產生文字
技術維運
協助解釋 log、設定檔與錯誤訊息

使用 Docker 部署 Ollama

如果你希望環境乾淨、方便搬移與重建,可以用 Docker 執行 Ollama。

Ollama 官方 FAQ 說明,Ollama 預設綁定 127.0.0.1:11434,若要暴露到網路,可透過 OLLAMA_HOST 調整;也可以使用 Nginx、Cloudflare Tunnel 等方式放在代理或隧道後面。

1. 建立目錄

				
					mkdir -p ~/gemma-ollama
cd ~/gemma-ollama
				
			

2. 建立 docker-compose.yml

				
					services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
    ports:
      - "127.0.0.1:11434:11434"
    volumes:
      - ollama:/root/.ollama

volumes:
  ollama:
				
			

這個設定會讓 Ollama 在容器內服務,但主機只允許本機透過 127.0.0.1:11434 存取,避免直接暴露到公網。

3. 啟動服務

				
					docker compose up -d
				
			

檢查容器狀態:

				
					docker ps
				
			

查看 log:

				
					docker logs -f ollama
				
			

4. 下載 Gemma

				
					docker exec -it ollama ollama pull gemma4:e4b
				
			

測試:

				
					curl http://127.0.0.1:11434/api/chat -d '{
  "model": "gemma4:e4b",
  "messages": [
    {
      "role": "user",
      "content": "請用繁體中文介紹 Gemma 4"
    }
  ],
  "stream": false
}'
				
			

使用 Docker Compose 部署 Ollama + Open WebUI

如果公司內部希望同仁用瀏覽器操作,不想每個人都打 API 或 CLI,可以加上 Open WebUI。Open WebUI 官方文件提供 Docker Compose 部署方式,並提醒新版 Docker Compose 使用 docker compose,不是舊式 docker-compose

1. 建立完整 docker-compose.yml

				
					services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
    ports:
      - "127.0.0.1:11434:11434"
    volumes:
      - ollama:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - WEBUI_SECRET_KEY=change-this-to-a-long-random-string
    depends_on:
      - ollama
    volumes:
      - open-webui:/app/backend/data

volumes:
  ollama:
  open-webui:
				
			

這個設定會讓 Open WebUI 對外開 3000 port,容器內部則透過 http://ollama:11434 連到 Ollama。

正式環境提醒:
如果部署在正式伺服器,不建議直接裸露 3000 port。建議放在 Nginx、Caddy、Cloudflare Tunnel、VPN 或 Zero Trust Access 後方,並啟用 HTTPS、帳號登入與權限控管。

2. 產生 WEBUI_SECRET_KEY

建議不要使用範例字串,改用隨機值:

				
					openssl rand -hex 32
				
			

將結果貼到:

				
					WEBUI_SECRET_KEY=你的隨機字串
				
			

3. 啟動服務

				
					docker compose up -d
				
			

檢查狀態:

				
					docker ps
				
			

查看 Open WebUI log:

				
					docker logs -f open-webui
				
			

查看 Ollama log:

				
					docker logs -f ollama
				
			

4. 下載 Gemma 模型

				
					docker exec -it ollama ollama pull gemma4:e4b
				
			

確認模型:

				
					docker exec -it ollama ollama list
				
			

5. 開啟 Open WebUI

瀏覽器打開:

http://你的伺服器IP:3000

第一次進入時建立管理員帳號,之後即可選擇 Gemma 模型並開始使用。

如果 Docker 要使用 NVIDIA GPU

如果你用 Docker 執行 Ollama,並希望容器可以吃到 NVIDIA GPU,需要先確認主機的 NVIDIA Driver 與 NVIDIA Container Toolkit 已安裝完成。Ollama 官方 FAQ 也說明,在 Linux 或 Windows WSL2 使用 Docker GPU acceleration 時,需要 NVIDIA Container Toolkit;macOS Docker Desktop 則因缺乏 GPU passthrough 與 emulation,無法使用 GPU acceleration。

先測試主機:

				
					nvidia-smi
				
			

再測試 Docker 是否可存取 GPU:

				
					docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
				
			

如果正常,Docker Compose 的 Ollama service 可加入 GPU 設定:

				
					services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
    ports:
      - "127.0.0.1:11434:11434"
    volumes:
      - ollama:/root/.ollama
    gpus: all
				
			

如果你的 Docker Compose 版本不支援 gpus: all,或在特定環境中無法正確讓容器使用 GPU,也可以改用 GPU device reservation 寫法:

				
					services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
    ports:
      - "127.0.0.1:11434:11434"
    volumes:
      - ollama:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

volumes:
  ollama:
				
			

如果這段設定無法生效,通常要先確認 Docker Engine、Docker Compose v2、NVIDIA Driver 與 NVIDIA Container Toolkit 是否安裝正確。

可以先用以下指令測試 Docker 容器是否能看到 GPU:

				
					docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
				
			

如果這個測試失敗,問題通常不是 Ollama,而是 NVIDIA Driver、NVIDIA Container Toolkit、Docker GPU runtime 或主機環境設定尚未完成。

n8n / WordPress / 後端系統如何串接 Gemma?

Gemma 透過 Ollama 部署後,實際上就是一個本地 API。你可以讓 n8n、WordPress、Laravel、Node.js、Python 或內部 API Gateway 呼叫它。

基本流程如下:

Gemma 本地部署 API 串接流程,使用者問題經由 WordPress、n8n、後端 API、Ollama API 送到 Gemma 模型產生回答

Gemma 適合做 RAG 知識庫嗎?

適合,但要注意架構。Gemma 本身是回答生成模型,不是資料庫,也不是搜尋引擎。做 RAG 時,應該讓 Gemma 負責「根據已檢索的資料產生回答」,而不是把所有資料都交給模型記憶。

比較正確的 RAG 架構如下:

SOP / FAQ / PDF / 技術文件 / 網頁內容
  ↓
文件清理與切片
  ↓
Embedding 模型
  ↓
向量資料庫
  ↓
檢索相關片段
  ↓
Gemma 產生回答
  ↓
附上來源、時間與信心提示

RAG 還需要 Embedding 模型與向量資料庫

需要注意的是,Gemma 負責的是「根據檢索結果生成回答」,但它本身不負責把文件轉成向量,也不負責儲存與搜尋企業文件。

如果要做完整 RAG,通常還需要搭配 Embedding 模型、向量資料庫與文件處理流程。

元件作用
Embedding 模型將文件、FAQ、SOP、產品資料轉成向量
向量資料庫儲存向量並負責相似度搜尋
文件切片流程將 PDF、網頁、Markdown、Word 文件切成可檢索段落
權限控管控制不同部門可查詢的資料範圍
Gemma / LLM根據檢索到的內容生成最終回答

例如測試環境可以使用 nomic-embed-text 這類 Embedding 模型,搭配 ChromaDB、Qdrant、Milvus 等向量資料庫建立 PoC。正式企業環境則要再評估資料量、查詢延遲、備份、權限控管與維運成本。

因此,Gemma 本地部署只是企業 RAG 架構的其中一層。真正的企業知識庫還需要文件處理、Embedding、向量資料庫、API 權限、引用來源與資料更新流程一起配合。

如果你的目標是讓員工查詢 SOP、客服 FAQ、產品規格、技術文件或維運紀錄,建議先規劃清楚資料來源與權限,再決定要使用哪一種 Embedding 模型與向量資料庫。

企業資料不應全部丟進向量資料庫

對企業來說,不同資料應該用不同方式管理。SOP、FAQ、技術文件適合放進 RAG 流程;但價格、庫存、訂單、發票與客戶資料,應該透過正式資料庫或 API 即時查詢,不能只依賴向量資料庫。

資料類型建議做法
SOP、FAQ、技術文件放入 RAG / 向量資料庫
商品價格、庫存、訂單透過 SQL / ERP / API 即時查詢
客戶資料放在 CRM 或權限控管資料庫
財務、合約、薪資需權限分級,不建議直接開放查詢
最終回答由 Gemma 根據檢索資料與 API 查詢結果生成

例如價格、庫存、訂單、發票號碼這類資料,不建議只放進向量資料庫。正確做法是由後端 API 查詢正式資料庫,再把查詢結果交給 Gemma 整理成自然語言。

對企業來說,資料應該分層處理:

資料類型
建議做法
SOP、FAQ、技術文件
放入 RAG / 向量資料庫
商品價格、庫存、訂單
透過 SQL / ERP / API 即時查詢
客戶資料
放在 CRM 或權限控管資料庫
財務、合約、薪資
需權限分級,不建議直接開放查詢
最終回答
由 Gemma 根據資料生成

例如價格、庫存、訂單、發票號碼這類資料,不建議只放進向量資料庫。正確做法是由後端 API 查詢正式資料庫,再把查詢結果交給 Gemma 整理成自然語言。

企業資安注意事項

本地部署 Gemma 的優點是資料可以留在企業自己的環境,但「本地部署」不等於「天然安全」。正式導入時,必須加上網路、身份驗證、權限控管與日誌管理。

1. 不要直接公開 Ollama API

Ollama 本地 API 預設不需要身份驗證。Ollama 官方文件也說明,存取本機 localhost:11434 API 時不需要 authentication。 因此正式環境絕對不建議直接把 11434 port 對外開放。

建議做法:

Ollama 綁定 127.0.0.1
外部服務透過內網、VPN、API Gateway 或 Reverse Proxy 存取

2. 使用 Reverse Proxy 與存取控管

如果需要讓其他系統呼叫 Ollama,建議前面放一層:

  • Nginx / Caddy / Traefik
  • API Key
  • IP 白名單
  • VPN
  • Zero Trust Access

避免任何人直接呼叫 Ollama API 消耗 GPU 資源。

3. Open WebUI 要啟用帳號與權限

如果用 Open WebUI 給內部員工使用,建議至少規劃:

控管項目
說明
使用者帳號
每位員工獨立帳號
管理員權限
限定 IT 或主管
模型權限
不同部門可使用不同模型
知識庫權限
不同部門只能查自己的資料
使用紀錄
保留提問、模型、時間與錯誤紀錄

若企業資料比較敏感,建議導入 RBAC,也就是角色基礎存取控制,讓業務、客服、工程、管理層能查詢的知識庫範圍不同。

4. 回答要附來源

企業知識庫不能只給答案,最好附上:

  • 來源文件
  • 段落位置
  • 資料更新時間
  • 信心提示

這樣可以降低 AI 幻覺造成的風險,也方便員工回頭確認原始資料。

常見錯誤排除 Troubleshooting

以下是部署 Ollama + Gemma 時最常遇到的問題。

問題 1:ollama: command not found

原因: Ollama 沒有安裝成功,或目前 shell 找不到執行路徑。

檢查:

				
					which ollama
ollama --version
				
			

解法:

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

重新登入 shell 或執行:

				
					source ~/.bashrc
				
			

問題 2:Ollama 服務沒有啟動

檢查:

				
					sudo systemctl status ollama --no-pager
				
			

啟動:

				
					sudo systemctl start ollama
				
			

重啟:

				
					sudo systemctl restart ollama
				
			

查看錯誤:

				
					journalctl -u ollama -n 100 --no-pager
				
			

問題 3:11434 port 被占用

錯誤可能類似:

listen tcp 127.0.0.1:11434: bind: address already in use

先查誰占用:

				
					ss -lntp | grep 11434
				
			

如果是 Ollama 已經在背景跑,就不用再手動啟動。

如果你要改 port,可以編輯 systemd override:

				
					sudo systemctl edit ollama
				
			

加入:

				
					[Service]
Environment="OLLAMA_HOST=127.0.0.1:11435"
				
			

套用並重啟:

				
					sudo systemctl daemon-reload
sudo systemctl restart ollama
				
			

測試:

				
					curl http://127.0.0.1:11435/api/tags
				
			

問題 4:curl http://127.0.0.1:11434/api/tags 沒反應

檢查服務:

				
					sudo systemctl status ollama --no-pager
				
			

檢查 port:

				
					ss -lntp | grep 11434
				
			

查看 log:

				
					journalctl -u ollama -n 100 --no-pager
				
			

如果是 Docker 版本:

				
					docker ps
docker logs -f ollama
				
			

問題 5:模型下載失敗或卡住

先重新執行:

				
					ollama pull gemma4:e4b
				
			

如果仍然失敗,查看已安裝模型:

				
					ollama list
				
			

移除指定模型後重新下載:

				
					ollama rm gemma4:e4b
ollama pull gemma4:e4b
				
			

不建議一開始就手動刪除整個 blobs 目錄,因為可能會清掉其他已下載模型。除非你很確定模型快取已損毀,否則先使用 ollama rm 會比較安全。

問題 6:出現 Out Of Memory / OOM

這通常是 GPU VRAM 或系統 RAM 不足造成,常見於:

  • 模型太大
  • context 太長
  • 同時使用者太多
  • RAG 帶入文件太多
  • Docker 容器資源不足

檢查 GPU:

				
					watch -n 1 nvidia-smi
				
			

檢查 RAM:

				
					free -h
				
			

解法:

  • 改用較小模型,例如 gemma4:e4b
  • 降低 num_ctx,例如 4096 或 8192
  • 減少 RAG 一次帶入的文件片段
  • 降低同時併發數
  • 升級到更大 VRAM 的 GPU 主機,或改用適合 PoC 與推論測試的 GPU 雲端主機

API 範例:

				
					{
  "model": "gemma4:e4b",
  "messages": [
    {
      "role": "user",
      "content": "請摘要以下內容..."
    }
  ],
  "options": {
    "num_ctx": 4096
  },
  "stream": false
}
				
			

問題 7:Open WebUI 連不到 Ollama

如果 Open WebUI 是 Docker,Ollama 也是 Docker,請確認 OLLAMA_BASE_URL

				
					environment:
  - OLLAMA_BASE_URL=http://ollama:11434
				
			

不要在容器內寫:

				
					http://localhost:11434
				
			

因為在 Docker 容器裡,localhost 指的是 Open WebUI 自己,不是 Ollama 容器。

檢查容器名稱:

				
					docker ps
				
			

檢查 Docker network:

				
					docker network ls
				
			

查看 log:

				
					docker logs -f open-webui
docker logs -f ollama
				
			

問題 8:GPU 沒被 Ollama 使用

先確認主機:

				
					nvidia-smi
				
			

如果是 Docker,測試容器是否可見 GPU:

				
					docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
				
			

如果這裡失敗,問題通常不是 Ollama,而是 NVIDIA Driver、NVIDIA Container Toolkit 或 Docker GPU runtime 設定。

問題 9:回應速度很慢

常見原因:

原因
解法
用 CPU 跑模型
改用 GPU
模型太大
改用 E4B 或更小模型
context 太長
降低 num_ctx
RAG 文件片段太多
減少 top_k 或縮短 chunk
多人同時使用
升級 GPU 或改推論架構
Docker 沒吃到 GPU
檢查 nvidia-smi 與 Docker GPU 設定

Gemma 和 Gemini 有什麼不同?

項目
Gemma
Gemini
定位
開放權重模型家族
Google 雲端 AI 模型服務
部署方式
可本地部署
通常透過 API 或 Google 服務使用
資料控制
可放在自有環境
依雲端 API 流程處理
適合用途
私有 AI、RAG、內部工具、PoC
高品質雲端 AI、複雜任務、快速商用
成本模式
主機 / GPU / 維運成本
API token 成本
客製化
可本地整合、可調整
依 API 與平台能力為主

實務上,企業不一定要二選一。比較好的做法通常是混合架構:

  • 機密資料 / 內部知識庫 → Gemma 本地部署
  • 高難度推理 / 複雜多模態任務 → Gemini API
  • 大量自動化流程 → 依成本與品質做模型路由

TAKI Cloud 建議:什麼情況該用 GPU 主機部署 Gemma?

如果你只是想測試 Gemma,本機或一般伺服器就可以開始。但如果你有以下情況,就建議使用 GPU 主機:

需求
為什麼需要 GPU 主機
多人同時使用
CPU 推論延遲高,體驗不穩
長文件 RAG
context 與 KV cache 會吃大量 VRAM
Open WebUI 內部服務
需要穩定、可監控、可維運
客服 / 業務 / 工程共用
需要帳號、權限與服務穩定性
n8n / ERP / CRM 串接
不適合跑在個人電腦
私有 AI 部署
需要固定 IP、備份、安全控管與維運

如果你發現本機部署 Gemma 時遇到以下問題:

  • 模型載入很慢
  • 回應速度不穩
  • 多人使用就卡住
  • RAG 長文件容易 OOM
  • GPU VRAM 不夠
  • 不想自己維護 NVIDIA Driver、Docker、Ollama 與 GPU 環境

就可以評估使用 TAKI Cloud GPU 主機GPU 雲端主機 部署 Ollama、Open WebUI、Gemma 與 RAG 架構。若你正在比較長期成本,也可以參考 GPU Server 價格怎麼算?AI 算力成本與 ROI 全解析

想把 Gemma 部署成企業內部 AI 助理?
如果你已經遇到本機跑不動、GPU VRAM 不夠、Open WebUI 多人使用變慢、RAG 長文件容易 OOM 或不想自己維護 NVIDIA Driver、Docker、Ollama 與 GPU 環境,TAKI Cloud 可協助評估適合的 GPU 主機規格,並規劃 Ollama、Open WebUI、RAG 知識庫、n8n 自動化與內部 API 串接架構。

適合客服知識庫、技術支援、企業文件查詢、私有 AI 助理與內部自動化流程。

延伸閱讀

常見問題 FAQ

更精準的說法是,Gemma 是開放權重模型。 它可以下載、部署與整合到自己的應用中,但仍需遵守 Google 的授權條款與使用規範。正式商用前,建議確認最新 Gemma license 與 prohibited use policy。

可以,但必須遵守官方授權與使用限制。 Gemma 是 Google 提供的開放權重模型,企業可以依照官方條款在自有應用、硬體或託管環境中部署與整合。

可以。 Gemma 4 已提供 E2B、E4B、26B A4B 與 31B 等版本,使用者可透過 Ollama 下載模型並在本地執行。

可以,但只建議測試小模型。 沒有 GPU 時可以先從 Gemma 3n 或 Gemma 4 E2B / E4B 開始;如果要多人使用、長文件 RAG 或企業正式部署,建議使用 GPU 主機。

不是。 A4B 表示推論時啟用 active 4B parameters,但完整模型權重仍需要載入記憶體。Google 官方列出的 Gemma 4 26B A4B 記憶體需求約為 BF16 48GB、SFP8 25GB、Q4_0 15.6GB,實際部署還要加上 context、KV cache 與推論框架額外消耗。

適合,但建議搭配 RAG 架構。 Gemma 負責根據檢索到的文件片段產生回答,文件搜尋則交給 embedding 模型與向量資料庫。價格、庫存、訂單、發票等即時資料,應透過 SQL、ERP 或 API 查詢。

不建議。 Ollama 本地 API 預設不需要 authentication,而且預設是本機 API。正式環境應避免直接公開 11434 port,建議透過 VPN、API Gateway、Reverse Proxy、IP 白名單或 Zero Trust 架構控管。

不一定,要看使用量與維運成本。 短期測試通常 API 較簡單;但如果企業長期、大量、固定使用 AI,且重視資料安全與成本可控,本地 GPU 主機 部署可能更適合。若企業想比較自建、雲端 GPU 與專屬 GPU Server 的長期成本,可以參考 GPU Server 價格怎麼算?AI 算力成本與 ROI 全解析

參考資料

以下資料主要來自 Google DeepMind、Google AI for Developers、Ollama 與 Open WebUI 官方文件,用於確認 Gemma 模型版本、Ollama API、Docker 部署與 Open WebUI 串接方式。

  1. Google DeepMind:Gemma 官方介紹
    Google DeepMind 說明 Gemma 是由 Gemini 技術延伸而來的開放模型家族,可用於雲端伺服器、筆電與行動裝置等不同環境。https://deepmind.google/models/gemma/?utm_source=chatgpt.com
  2. Google AI for Developers:Gemma 4 Model Overview
    Google 官方文件列出 Gemma 4 的 E2B、E4B、31B 與 26B A4B 版本,並說明不同模型大小、精度與記憶體需求。https://ai.google.dev/gemma/docs/core?utm_source=chatgpt.com&hl=zh-tw
  3. Ollama:Gemma 4 模型頁
    Ollama 官方模型頁說明 Gemma 4 可處理文字與圖片輸入,並產生文字輸出,同時支援 reasoning 與 configurable thinking modes。https://ollama.com/library/gemma4?utm_source=chatgpt.com
  4. Ollama API 官方文件
    Ollama 文件指出,安裝後本地 API 預設位於 http://localhost:11434/api,可透過 curl 呼叫模型。https://docs.ollama.com/api/introduction?utm_source=chatgpt.com
  5. Ollama API Authentication 文件
    Ollama 官方文件說明,本機端 http://localhost:11434 API 存取預設不需要 authentication,因此正式環境不建議直接公開 11434 port。https://docs.ollama.com/api/authentication?utm_source=chatgpt.com
  6. Open WebUI 官方文件
    Open WebUI 是可自架的 AI 平台,支援 Ollama 與 OpenAI-compatible APIs,適合用於本地與雲端模型的 Web UI。https://docs.openwebui.com/?utm_source=chatgpt.com
  7. Open WebUI Quick Start
    Open WebUI 官方 Quick Start 提供 Docker 部署、GPU support、連接 Ollama 等設定方向。https://docs.openwebui.com/getting-started/quick-start/?utm_source=chatgpt.com

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *