[EP-13] 使用 Dify 建立專屬自己的 AI 代理人!每月只要 5 美金起
Dify 是一個視覺化的 AI 流程工具,能夠用拖拉的方式,建立專屬於個人與企業的 AI 應用。今天我會在 Zeabur 上部署 Dify ,並且讓 Dify 使用 我的 Notion 筆記作為知識庫。
辦公室的同事最近在自家的機器上部署了 Dify ,試用了一下,這真是好東西。所以我決定在 Zeabur 上也部署 Dify ,建立一個專屬於我個人的 AI Agent。
如果你還不知道什麼是 Dify ,但是對於建立 AI 機器人很有興趣,強烈建議你使用 Dify 。它是一款開源 AI 應用開發平台,核心理念是「讓每個人都能輕鬆打造智慧應用」。
透過直覺式的視覺化操作介面,Dify 將大語言模型的複雜技術轉換為可拖拉的組件,即使沒有機器學習背景的使用者,也能快速建立智慧客服、文件助理等 AI 應用,無需撰寫大量程式碼。
Dify 主要建立在檢索增強生成(RAG)、函式呼叫、工作流程引擎三大技術之上:
RAG(檢索增強生成):讓 AI 能夠即時查詢外部知識庫,提供更準確的回答。
函式呼叫:支援 API 介接各類業務系統,確保 AI 能與現有資訊系統順暢整合。
視覺化工作流程引擎:讓使用者能夠像拼拼圖一樣,直覺地組合多個 AI 模型,輕鬆打造智慧化服務。
我在上一篇文章有介紹過 n8n ,第一次接觸 Dify 時,感覺有點像 n8n ,也都是如同流程圖一般拉來拉去的。但是 Dify 有繁體中文介面,官方說明也有簡體中文版,親切許多。
不過 Dify 與 n8n 到底還是不同的東西,無法互相取代,哪裡不同請見下表。
n8n 與 Dify 可以搭配使用,例如你可以用n8n 監控 Dropbox、Notion、Google Drive 等文件存儲空間,一旦有新文件上傳,就自動觸發流程,讓 n8n 解析文件內容,並同步更新到 Dify 的知識庫(RAG 模型)。接著便可以透過 Dify 的 AI 助理,隨時查詢最新的文件。
今天這篇文章會說明如何在 Zeabur 一鍵部署 Dify ,並且製作一個能夠閱讀 Notion 文件的聊天機器人。
在 Zeabur 上一鍵部署 Dify
如果你還不知道什麼是 Zeabur 的話,它是一個專為開發者設計的 PaaS(Platform as a Service)雲端部署平台,採用按量計費模式,只需支付實際使用的資源費用,非常適合個人或小團隊。
開發者方案一個月僅需 5 元美金,使用量有超過才需要另外付費。你可以使用我的連結註冊,這樣你的帳戶就可以得到 5 元美金。
部署 Dify 步驟:
點擊建立新專案
選擇伺服器位置:如果是台灣人建議選擇東京。只是想測試就選擇 Free Trial ,24小時內會自動刪除。
新增服務:選擇模版,搜尋 Dify ,填上網域名稱,只是要自用的話就隨便取。之後也可以另外綁定自訂的網域。
Dify 專案建立時,會自動安裝下列服務:
nginx:反向代理與負載均衡,你從這裡進入 Dify 的使用者介面。
db:關聯式資料庫,用於存儲 Dify 的主要應用數據。
minio:物件存儲服務(類似 AWS S3),用於存放上傳的文件、模型權重等大型資料。
weaviate:向量資料庫,用於存儲與檢索嵌入向量(Embeddings),提升 AI 檢索能力。
redis:記憶體快取與訊息隊列,用於加速查詢與暫存資料,提高應用效能。
API:Dify 的核心後端 API,在這邊填上金鑰跟其他服務互動。
worker:執行非同步任務(如 AI 推理、數據處理),減輕 API 服務負擔。
web:前端應用,提供 Dify 的使用者介面,讓用戶與系統互動。
sandbox:用於執行受控的程式碼環境,提供測試與運行 AI 模型的安全機制。
在 Notion 上建立集成
如果你沒有在 Notion 上建立集成,可以到:https://www.notion.so/profile/integrations
點擊 New Integration
為集成取個名字,選擇工作區(Associated workspace), 類別(Type)選擇 Internal ,最後上傳適合的小圖示(沒有也可以)。
建立好後點擊 Configure integration settings ,在 Internal Integration Secret 點擊 Show ,複製這串文字。
在 Dify 上串接語言模型以及 Notion 集成
接著回到 Dify ,首先我們來設定語言模型的 API 。因為我們是在 Zeabur 上部署,沒有 GPU 資源,所以建議透過 API 的方式串接語言模型。
設定方式很簡單,點擊右上角人像,設定 →模型供應商,選擇你想要的模型,然後輸入 API 金鑰。
要建立 Notion 知識庫的話步驟比較不同,當你點擊資料來源,你會看到預設已經有 Notion 了,但是當你按 + 號串接,會回傳錯誤訊息。這是因為我們沒有在環境內提供之前建置的 Notion 集成金鑰。
再回到 Zeabur ,選擇左側導覽列的 api → 環境變數,在新增環境參數的 Key 欄位,填上NOTION_INTERNAL_SECRET,Value 欄位就填上你之前複製的金鑰,點擊新增。
新增後會要求你重啟服務,但是我發現重啟服務之後,回到 Dify 也沒這麼快串接完畢,你就把頁面重刷幾次,應該就會串接成功了。
接著回到 Notion ,選擇你想要的串接的頁面,在右上角點擊三個小點,選擇 Connections ,再選擇你建立的集成名稱。
建立自己的聊天機器人
所有該串接的步驟都搞定了,開始做手做機器人囉!
首先我們先為機器人建立知識庫,這樣機器人才知道要去哪裡找資料。
選擇知識庫 → 建立知識庫 ,選擇同步自 Notion 內容,作為資料來源。
建立時的相關設定,例如 Embedding 模型、檢索設定等,就先用預設的即可。
接著在 Dify 頁面上,選擇工作室 → 建立空白應用,然後選擇聊天助手。
在右上角你可選擇要使用哪一個語言模型,然後上下文可以選擇知識庫,現在我們在上下文這裡點擊新增。
這樣就可以選擇 Notion 筆記當作知識庫了。
我之前曾經研究過武俠小說生成器(目前暫停中),所以我就問了相關問題,成功取出 Notion 筆記的資料!
計算一下總花費:Zeabur 上目前有兩個服務,一個是 n8n ,另一個就是 Dify ,不管幾個服務都是 5 美元,用量有超過再另外收費。然後再加上連接語言模型 API 的費用,這部分還不知道,過去的經驗來說,其實用得不多,我估計是 10 美金內打死。
所以除非你有特殊需求,否則如果你有需要建置自己的 AI 代理人,直接使用 Dify 應該是比較便宜的方案。
在下一期電子報,我會結合 n8n 、 Dify 、Notion 、 Gmail ,讓 Notion 當作主要進入點,設計一個篩選與閱讀電子報的流程,敬請期待!