用 Docker 在 Xeon 上部署 Ollama,整合 n8n 與繁體中文語言處理

最後修改於 2026年2月4日 • 1 分鐘 閱讀 • 163 字
分享至
完整紀錄如何使用 Ollama 在本地部署 LLM 推論服務,並與 n8n 整合以自動生成內容與翻譯,並處理語言地區設定。
用 Docker 在 Xeon 上部署 Ollama,整合 n8n 與繁體中文語言處理

🎯 專案目標  

  • 在 Intel Xeon E3-1220 v6 的主機(192.168.50.13)上以 Docker 部署 Ollama
  • 與另一台主機(192.168.50.11)上的 n8n 自動化工具整合
  • 模型使用 llama3, mistral 等,根據任務自動切換
  • 回應預設為台灣繁體中文
  • 保持現有 Nextcloud AIO 不受影響

🛠️ docker-compose.yaml 設定  

version: '3.9'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    command: serve
    deploy:
      resources:
        limits:
          cpus: "3.0"

volumes:
  ollama_data:

啟動服務:

docker compose up -d

❗ 錯誤處理:--no-ui 導致重啟  

Error: unknown flag: --no-ui

改為:

command: serve

🔗 與 n8n 整合流程  

Function:根據任務類型自動挑選模型  

const prompt = $json.prompt.toLowerCase();
let model = "gemma";
if (prompt.includes("翻譯") || prompt.includes("英文")) {
  model = "mistral";
} else if (prompt.includes("貼文") || prompt.includes("post")) {
  model = "llama3";
}
return [{ json: { ...$json, model } }];

HTTP Request:  

POST http://192.168.50.13:11434/api/generate
Content-Type: application/json

{
  "model": "{{ $json.model }}",
  "prompt": "{{ $json.prompt }}"
}

🌐 預設繁體中文語言處理  

return {
  prompt: `你是台灣的助理,請使用繁體中文回覆以下問題:${$json["question"]}`
};

或使用聊天格式:

[
  {
    "role": "system",
    "content": "你是來自台灣的繁體中文語言助理,所有回應請使用自然的繁體中文。"
  },
  {
    "role": "user",
    "content": "請問什麼是 LLM?"
  }
]

✅ 結語  

  • 離線 LLM 模型推論平台(Ollama)
  • 與 n8n 整合並支援語言切換
  • 回應預設為繁體中文
  • Docker 資源可控且與 Nextcloud 共存

留言

數位足跡

電信產品經理 / Home Lab 玩家 / 歷史閱讀者。在數據與歷史中尋找本質,分享一份屬於成熟技術人的平靜與堅韌。