【實戰教學】如何在 Dify 中串接本地 Ollama 模型?實現在地化 AI Agent 開發!

 

隨著開源模型(如 Llama 3, Mistral, Qwen 2)的崛起,利用 Ollama 在本地部署大型語言模型(LLM)已成為工程師的標配。而 Dify 作為最強大的 LLMOps 平台,提供了直接串接 Ollama 的功能。

本篇文章將教你如何讓這兩個神器聯手,打造一個**「零 API 成本、數據不上雲」**的私有 AI 平台。

專家架構圖:Dify 與 Ollama 的通訊邏輯

在開始動手前,我們先理解底層的資料流。身為建置專家,理解架構能幫你解決 90% 的連線問題。

架構解析:

  1. 使用者 (User):透過瀏覽器存取 Dify 前端 (localhost:3000)。

  2. Dify 後端 (API Service):跑在 Docker 容器內,它負責所有的邏輯調度。

  3. Ollama 服務:通常跑在你的 Windows/Mac 宿主機(Host)上,提供 localhost:11434 的 API 接口。

  4. 模型 (Models):Ollama 管理著本地磁碟上的模型檔案(如 Llama 3)。

  5. 核心難點 (The Tunnel):Docker 容器內的 Dify 「看不見」 宿主機的 localhost。我們需要建立一條跨越 Docker 邊界的網路通道。


🚀 實戰步驟 1:Ollama 端準備 (Windows/Mac)

在連線前,請確保你的 Ollama 已經「開門迎客」。

A. 下載並執行模型

在你的終端機(Terminal 或 PowerShell)執行以下指令,下載目前最紅的 Llama 3:

Bash
ollama run llama3

(看到 >>> 的提示符號後,隨便輸入幾個字測試,確認模型可以正常回答。)

B. 解鎖 Ollama 的網路限制 (關鍵步驟!)

預設情況下,Ollama 只接受本地 (127.0.0.1) 的請求。為了讓 Docker 內的 Dify 能連進來,我們必須調整環境變數。

  • Windows 開發者

    1. 在工作列右下角找到 Ollama 圖示,點擊 Quid 退出。

    2. 搜尋 「編輯系統環境變數」

    3. 在「使用者變數」中新增:

      • 變數名稱:OLLAMA_HOST

      • 變數值:0.0.0.0

    4. 重新啟動 Ollama。

  • Mac 開發者

    1. 在終端機執行:

      Bash
      launchctl setenv OLLAMA_HOST "0.0.0.0"
      
    2. 重啟 Ollama 應用程式。


🚀 實戰步驟 2:Dify 端配置 (在瀏覽器操作)

確保 Ollama 已經在 0.0.0.0:11434 監聽後,我們回到 Dify。

  1. 登入 Dify:打開瀏覽器存取你的 Dify 平台(通常是 http://localhost:3000)。

  2. 進入模型供應商設定

    • 點擊右上角頭像 ➔ 「設定」「模型供應商」

  3. 新增 Ollama 供應商

    • 在列表中找到 「Ollama」,點擊 「新增模型」


🚀 實戰步驟 3:建立跨越 Docker 的「連線魔術」

這是最容易失敗的一步。在填寫設定表單時,請按照以下「專家指令」填寫:

表單填寫指南:

  • 模型類型:選擇 LLM

  • 模型名稱:必須填寫你在 Ollama 中下載的精確名稱(例如:llama3)。如果你不知道名稱,在終端機輸入 ollama list 查看。

  • API 地址絕對不要填寫 http://localhost:11434

專家提示:Docker 如何連回宿主機?

因為 Dify 跑在 Docker 裡,它的 localhost 指的是容器自己。要連回你的 Windows/Mac 電腦,請使用以下特殊網域:

  • API 地址http://host.docker.internal:11434

  1. 點擊「儲存」:如果配置正確,Dify 會與本地 Ollama 進行一次握手測試。儲存成功後,你就會在列表中看見 Ollama 已啟用。


🚀 實戰步驟 4:測試你的本地 AI 助手

現在大功告成,我們來試跑一下。

  1. 建立應用:回到 Dify 主頁,點擊 「建立應用」 ➔ 選擇 「聊天助手」

  2. 選擇模型:在應用排版介面右上角,點擊預設模型,你現在應該能看見 「Ollama - llama3」 的選項。

  3. 開始對話:在下方的對話框輸入:「你好,你是誰?」

看到 Llama 3 在本地全速運行並回答你,這就是最完美的 RAG 建置姿勢!


💡 專家除錯專區 (FAQ)

症狀 (Keyword)核心原因專家解法
Connection RefusedOllama 沒開 0.0.0.0回到步驟 1-B,確保環境變數 OLLAMA_HOST 已設為 0.0.0.0 並重啟。
Model not found模型名稱填錯在終端機打 ollama list,確認名稱是 llama3 還是 llama3:7b,Dify 的設定必須完全一致。
連線異常緩慢沒開 GPU 加速Ollama 預設會使用 CPU,如果你有 NVIDIA 顯卡,請確保 Docker Desktop 的 GPU 支援已開啟,效能會提升 20 倍。

結語

串接本地 Ollama 模型,讓 Dify 的開發成本降低為零。你現在可以在本機無限制地測試不同的 Prompt、建立 RAG 知識庫,並且不用擔心敏感數據外洩。這正是企業搭建公有/私有混合雲 AI 平台的關鍵第一步!

留言

這個網誌中的熱門文章

[Security] wpa_supplicant setup

[我的MAC Air] 2012年中,MAC Air SSD升級

[拆機] Nexus5 更換背蓋、電池