概述
本教程將詳細引導您完成一個完整的數據處理與應用流程:首先,我們將 Dify 平台與 MatrixOne (MO) 數據庫進行集成,使用 MatrixOne 作為 Dify 的向量存儲後端;然後,演示瞭如何從 MatrixOne Intelligence (MOI) 平台將處理好的分段數據(Chunks)導出到 Dify 中新建的知識庫;最終,利用這些導入的數據快速構建一個智能聊天應用。
通過本教程,您將掌握:
- 如何配置 Dify 以使用 MatrixOne 作為其向量數據庫。
- 如何在 MOI 和 Dify 之間建立數據連接。
- 如何將 MOI 的數據導出到 Dify 知識庫。
- 如何基於導入的知識庫數據構建一個可用的 AI 智能體。
Part 1: 環境準備與 Dify-MO 集成
在開始之前,請確保您的本地開發環境已經準備就緒。
1.1 安裝 Git
Git 是用於版本控制的必備工具,我們將用它來克隆 Dify 的源代碼。
1. 安裝 Git
請參考 Git 官方文檔 Git - Downloading Package 根據您的操作系統進行安裝。
2. 驗證安裝
打開終端,運行以下命令檢查 Git 是否安裝成功:
git --version
如果看到類似 git version 2.40.0 的輸出,則表示安裝成功。
1.2 安裝 Docker
Docker Get Docker | Docker Docs 用於創建和管理容器化的應用環境,Dify 的部署依賴於 Docker。
1. 安裝 Docker Desktop
訪問 Get Docker 官方頁面,根據您的操作系統下載並安裝 Docker Desktop。推薦 Docker 版本不低於 20.10.18。
2. 驗證安裝
安裝完成後,在終端中運行以下命令來驗證 Docker 版本:
docker --version
如果看到類似 Docker version 20.10.18, build 100c701 的輸出,則表示安裝成功。
3. 啓動 Docker
請確保 Docker Desktop 應用程序已經啓動並在後台運行。
1.3 配置並啓動 Dify
接下來,我們將獲取 Dify 源碼,並將其配置為使用 MatrixOne 數據庫。
1. 獲取 Dify 源代碼
克隆 Dify 最新的源代碼到您的本地:
git clone https://github.com/langgenius/dify.git
cd dify
2. 構建支持 MatrixOne 的 Docker 鏡像
我們需要構建一個特殊的 Docker 鏡像,該鏡像包含了與 MatrixOne 連接所需的依賴:
docker build -f docker/Dockerfile.mo -t langgenius/dify-api:mo .
注意:此步驟可能需要一些時間,因為它會下載依賴並構建鏡像。
3. 配置環境變量
進入 docker 目錄,並從模板文件複製一份新的環境變量配置文件:
cd docker
cp .env.example .env
4. 編輯 .env 文件
使用您常用的文本編輯器(如 VS Code, Vim)打開 .env 文件,找到並修改以下配置,以連接到您的 MatrixOne 實例:
# 向量數據庫配置
VECTOR_STORE=matrixone
# MatrixOne 數據庫配置
DB_USERNAME=your_matrixone_username
DB_PASSWORD=your_matrixone_password
DB_HOST=your_matrixone_host
DB_PORT=6001
DB_DATABASE=dify
5. 修改 Docker Compose 配置
編輯 docker-compose.yaml 文件,將其中 api 和 worker 服務的鏡像替換為我們剛剛構建的 langgenius/dify-api:mo。
找到以下兩個部分並修改 image 字段:
services:
api:
image: langgenius/dify-api:mo # 修改這裏
# ... 其他配置保持不變
worker:
image: langgenius/dify-api:mo # 修改這裏
# ... 其他配置保持不變
6. 啓動 Dify 服務
一切準備就緒,現在可以啓動 Dify 平台了:
docker compose up -d
服務啓動需要一些時間。您可以使用以下命令查看實時日誌:
docker compose logs -f
7. 初始化 Dify 平台
- 在瀏覽器中訪問
http://localhost/install,根據頁面提示完成管理員賬户的初始化設置。 - 登錄後,進入 設置 -> 模型提供商,配置您的大語言模型(LLM)和向量模型的 API Key,例如 Ollama, OpenAI, Anthropic 等。
至此,您的 Dify 平台已經成功搭建並與 MatrixOne 集成。
Part 2: 核心流程:從 MOI 導出數據至 Dify
現在,我們將數據從 MOI 平台導出到 Dify。
2.1 在 Dify 中準備知識庫
首先,我們需要在 Dify 中創建一個空的知識庫,作為數據的接收容器。
- 登錄 Dify 平台。
- 進入"知識庫"模塊。
- 點擊"創建知識庫",輸入一個名稱(例如
moi_data_repository),然後點擊"創建"。
2.2 在 MOI 中配置 Dify 連接器
為了讓 MOI 能夠將數據發送到 Dify,需要配置一個連接器。
- 登錄 MOI 平台。
- 進入 數據連接 -> 連接器 頁面。
- 點擊"新建連接器",類型選擇為 Dify。
-
填寫以下配置信息:
a. API 服務器地址:
- 回到 Dify 平台,進入"知識庫"模塊。
- 點擊頁面右上角的"API 訪問"。
- 複製"API 服務器地址",並確保其為公網可訪問的 HTTPS 協議地址。若協議非 HTTPS,請手動補充(例如:
https://...)。
b. API 密鑰:
- 在 Dify 的同一"API 訪問"頁面中,複製"個人 API Token"(訪問令牌)。
- 保存連接器。
2.3 在 MOI 中創建並執行導出任務
連接器配置好後,我們就可以創建導出任務了。
- 在 MOI 平台,進入 數據連接 -> 數據導出 頁面。
-
點擊"新建導出",並配置以下選項:
- 任務名稱:自定義一個任務名稱。
- 選擇文件:選擇一個經過工作流處理後、包含分段(chunks)數據的文件。這是導出到向量數據庫的必要條件。
- 選擇連接器:選擇上一步創建的 Dify 連接器。
- 選擇知識庫:系統會自動加載 Dify 中的知識庫列表,選擇我們剛剛創建的空知識庫(例如
moi_data_repository)。 - 向量模型:如果是首次向這個知識庫導出,您需要選擇一個向量化模型。請確保該模型與您 Dify 中配置的 Embedding 模型一致或兼容。
- 點擊"創建"後,導出任務開始執行。等待任務狀態從"進行中"變為"完成"。
2.4 驗證數據導入成功
導出完成後,我們需要驗證數據是否已成功寫入 Dify 的知識庫中。
方法一:通過 Dify UI 驗證(推薦)
- 回到 Dify 平台,進入您創建的知識庫。
- 點擊"文檔"標籤頁。您應該能看到從 MOI 導出的文檔列表。
- 點擊"分段"標籤頁,您可以看到文檔被切分成的具體數據條目,這表明數據已成功向量化並存儲。
方法二:通過數據庫驗證(可選,高級)
如果您想深入後台確認,可以直接連接到 MatrixOne 數據庫進行檢查。
- 使用 MySQL 客户端連接到 MatrixOne 實例:
mysql -h your_matrixone_host -P 6001 -u your_username -p
- 切換到 Dify 數據庫並查看其中的數據表:
USE dify;
SHOW TABLES;
- 查看錶結構和數據行數,確認數據已寫入:
SELECT COUNT(*) FROM document_segments;
如果 COUNT(*) 的結果大於 0,則表明數據已成功寫入數據庫。
Part 3: 應用實踐:基於導入數據構建智能體
數據成功導入 Dify 知識庫後,即可利用其構建智能聊天助手,讓 AI 能夠基於您上傳的知識進行問答。
3.1 創建聊天助手應用
- 在 Dify 首頁,點擊"創建應用"。
- 選擇應用類型為"聊天助手"。
- 為您的應用命名(例如"MOI 知識問答助手"),然後點擊"創建"。
3.2 編排應用並關聯知識庫
創建後,您將進入應用的"編排"頁面。這是配置 AI 行為的核心區域。
1. 填寫提示詞 (Prompt):
在"提示詞"部分,定義助手的角色和任務。例如:
你是一個專業的知識助手,能夠基於提供的知識庫內容回答用户的問題。
請使用友好、專業的語氣,並在回答時引用相關的知識片段。
如果知識庫中沒有相關信息,請誠實告知用户。
2. 關聯知識庫(關鍵步驟):
在"上下文"模塊,點擊"添加",然後選擇我們之前創建並導入了數據的知識庫(moi_data_repository)。這將使 AI 在回答問題時,能夠檢索和引用該知識庫中的內容。
3. 配置開場白(可選):
在頁面底部"添加功能"中,可以啓用"對話開場白",為用户提供一個友好的歡迎語和一些示例問題。
3.3 調試和發佈
- 在頁面右側的"預覽與調試"窗口中,輸入與您知識庫相關的問題,測試助手的回答效果。
- 如果對結果滿意,點擊右上角的"發佈"按鈕。
- 發佈後,您可以獲得一個公開的 WebApp 鏈接,或使用 API 將其集成到您自己的產品中。
有關更詳細的應用編排技巧,例如變量、工具調用等,請參閲 Dify 官方文檔:聊天助手。
至此,您已完成從環境搭建、數據導出到智能體構建的完整流程。
觀看直播回放,獲取更詳盡的實戰演示與內容解析
直播 Q&A 環節
Q:與其他開源方案 (如 LangChain + Chroma) 相比有什麼優勢?
A: 核心差異在於兩者的定位:LangChain + Chroma 是一個"開發者工具集",而我們的方案是一個"一體化的企業級平台"。基於工具集,開發者仍需編寫大量代碼來粘合數據處理、存儲與應用邏輯,開發與維護成本高昂。在實際項目中,非結構化數據處理往往是複雜度最高、最耗費精力的環節,而這正是 MOI 旨在解決的核心問題。
Q:Dify 和 MOI 之間的連接是實時的嗎?
A: 在此次演示中,我們展示的是一個"數據導出任務"。然而,MOI 的核心優勢在於其"自動化工作流":該任務可配置為定時觸發(如每5分鐘一次),或由外部API事件(如新文件上傳)觸發。這種機制雖非毫秒級的流式同步,但其"準實時"特性足以滿足企業級 RAG 的知識更新需求,能有效解決常見的"知識更新延遲"痛點。
Q:MOI 的多模態處理具體支持哪些格式?
A: MOI 平台具備強大的多模態數據處理能力,原生支持文檔、圖片、音頻、視頻等各類非結構化數據。