博客 / 詳情

返回

視頻+教程 | 三位一體:MOI 數據源 + MO 向量存儲 + Dify 應用層,構建企業級 RAG

概述

本教程將詳細引導您完成一個完整的數據處理與應用流程:首先,我們將 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 文件,將其中 apiworker 服務的鏡像替換為我們剛剛構建的 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 集成。

pZ9xpB8.png

Part 2: 核心流程:從 MOI 導出數據至 Dify

現在,我們將數據從 MOI 平台導出到 Dify。

2.1 在 Dify 中準備知識庫

首先,我們需要在 Dify 中創建一個空的知識庫,作為數據的接收容器。

  1. 登錄 Dify 平台。
  2. 進入"知識庫"模塊。
  3. 點擊"創建知識庫",輸入一個名稱(例如 moi_data_repository),然後點擊"創建"。

pZ9xSnf.png
pZ9vvct.png
pZ9vj1I.png

2.2 在 MOI 中配置 Dify 連接器

為了讓 MOI 能夠將數據發送到 Dify,需要配置一個連接器。

  1. 登錄 MOI 平台。
  2. 進入 數據連接 -> 連接器 頁面。
  3. 點擊"新建連接器",類型選擇為 Dify。
  4. 填寫以下配置信息:

    a. API 服務器地址:

    • 回到 Dify 平台,進入"知識庫"模塊。
    • 點擊頁面右上角的"API 訪問"。
    • 複製"API 服務器地址",並確保其為公網可訪問的 HTTPS 協議地址。若協議非 HTTPS,請手動補充(例如:https://...)。

    b. API 密鑰:

    • 在 Dify 的同一"API 訪問"頁面中,複製"個人 API Token"(訪問令牌)。
  5. 保存連接器。
    pZ9vxjP.png
    pZ9x9HS.png

2.3 在 MOI 中創建並執行導出任務

連接器配置好後,我們就可以創建導出任務了。

  1. 在 MOI 平台,進入 數據連接 -> 數據導出 頁面。
  2. 點擊"新建導出",並配置以下選項:

    • 任務名稱:自定義一個任務名稱。
    • 選擇文件:選擇一個經過工作流處理後、包含分段(chunks)數據的文件。這是導出到向量數據庫的必要條件。
    • 選擇連接器:選擇上一步創建的 Dify 連接器。
    • 選擇知識庫:系統會自動加載 Dify 中的知識庫列表,選擇我們剛剛創建的空知識庫(例如 moi_data_repository)。
    • 向量模型:如果是首次向這個知識庫導出,您需要選擇一個向量化模型。請確保該模型與您 Dify 中配置的 Embedding 模型一致或兼容。
  3. 點擊"創建"後,導出任務開始執行。等待任務狀態從"進行中"變為"完成"。

pZ9xPAg.png

2.4 驗證數據導入成功

導出完成後,我們需要驗證數據是否已成功寫入 Dify 的知識庫中。

方法一:通過 Dify UI 驗證(推薦)

  1. 回到 Dify 平台,進入您創建的知識庫。
  2. 點擊"文檔"標籤頁。您應該能看到從 MOI 導出的文檔列表。
  3. 點擊"分段"標籤頁,您可以看到文檔被切分成的具體數據條目,這表明數據已成功向量化並存儲。

方法二:通過數據庫驗證(可選,高級)

如果您想深入後台確認,可以直接連接到 MatrixOne 數據庫進行檢查。

  1. 使用 MySQL 客户端連接到 MatrixOne 實例:
mysql -h your_matrixone_host -P 6001 -u your_username -p
  1. 切換到 Dify 數據庫並查看其中的數據表:
USE dify;
SHOW TABLES;
  1. 查看錶結構和數據行數,確認數據已寫入:
SELECT COUNT(*) FROM document_segments;

如果 COUNT(*) 的結果大於 0,則表明數據已成功寫入數據庫。

Part 3: 應用實踐:基於導入數據構建智能體

數據成功導入 Dify 知識庫後,即可利用其構建智能聊天助手,讓 AI 能夠基於您上傳的知識進行問答。

3.1 創建聊天助手應用

  1. 在 Dify 首頁,點擊"創建應用"。
  2. 選擇應用類型為"聊天助手"。
  3. 為您的應用命名(例如"MOI 知識問答助手"),然後點擊"創建"。

3.2 編排應用並關聯知識庫

創建後,您將進入應用的"編排"頁面。這是配置 AI 行為的核心區域。

1. 填寫提示詞 (Prompt):

在"提示詞"部分,定義助手的角色和任務。例如:

你是一個專業的知識助手,能夠基於提供的知識庫內容回答用户的問題。
請使用友好、專業的語氣,並在回答時引用相關的知識片段。
如果知識庫中沒有相關信息,請誠實告知用户。

2. 關聯知識庫(關鍵步驟):

在"上下文"模塊,點擊"添加",然後選擇我們之前創建並導入了數據的知識庫(moi_data_repository)。這將使 AI 在回答問題時,能夠檢索和引用該知識庫中的內容。

3. 配置開場白(可選):

在頁面底部"添加功能"中,可以啓用"對話開場白",為用户提供一個友好的歡迎語和一些示例問題。

pZ9xiNQ.png

3.3 調試和發佈

  1. 在頁面右側的"預覽與調試"窗口中,輸入與您知識庫相關的問題,測試助手的回答效果。
  2. 如果對結果滿意,點擊右上角的"發佈"按鈕。
  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 平台具備強大的多模態數據處理能力,原生支持文檔、圖片、音頻、視頻等各類非結構化數據。

user avatar sphereex 頭像 rivers_chaitin 頭像 nixideshatanku 頭像 u_12190 頭像 libin9iai 頭像
5 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.