前言
本教程旨在為開發者提供一份清晰、詳盡的指南,説明如何將開源 RAG (Retrieval-Augmented Generation) 應用開發引擎 Deerflow 與 MOI 的 RAG 服務進行集成。通過本教程,讀者將掌握 Deerflow 的部署方法、在 MOI 中創建數據處理工作流的技能,並最終實現兩者連接,以構建一個強大的、可定製的深度檢索增強生成應用。
一、 Deerflow 簡介
Deerflow (https://github.com/bytedance/deer-flow) 是一個開源的 RAG 應用開發引擎,它提供了一套完整的後端服務和可擴展的框架。其核心價值在於簡化 RAG 應用的開發流程,允許開發者通過簡單的配置,快速接入 RAG 數據服務提供商(如 MOI)、大語言模型(LLMs)以及向量數據庫等,從而專注於業務邏輯的實現,而非底層技術的集成。
二、 Deerflow 安裝與部署
本教程將詳細介紹本地部署 Deerflow 的過程。
推薦工具
為確保順暢的安裝體驗,建議使用以下工具:
- uv: 用於簡化 Python 環境和依賴管理。uv 會自動在項目根目錄創建虛擬環境並安裝所有必需的包。
- nvm: 用於輕鬆管理多個 Node.js 運行時版本。
- pnpm: 用於安裝和管理 Node.js 項目的依賴。
環境要求
請確保您的系統滿足以下最低要求:
- Python: 3.12 或更高版本
- Node.js: 22 或更高版本
安裝步驟
步驟 1: 克隆代碼倉庫
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
步驟 2: 安裝 Python 依賴
使用 uv 來同步環境並安裝所有必需的 Python 包。
uv sync
步驟 3: 初始化配置文件
Deerflow 通過 .env 和 conf.yaml 文件進行配置。請從模板文件複製並創建它們。
首先,配置 .env 文件,用於存放 API 密鑰等敏感信息。我們將在後續步驟中填入 MOI 的信息。
cp .env.example .env
然後,配置 conf.yaml 文件,用於設置 LLM 模型等。
cp conf.yaml.example conf.yaml
注意: 在啓動項目前,請仔細閲讀官方的配置指南 (docs/configuration_guide.md),並根據您的具體需求更新這兩個配置文件。
步驟 4: 安裝可選依賴
為了支持 PPT 生成功能,您需要安裝 marp-cli。
npm install -g @marp-team/marp-cli
步驟 5: (可選) 安裝 Web UI 依賴
如果您希望使用 Web UI,需要進入 web 目錄並安裝前端依賴。
cd web
pnpm install
cd ..
三、 在 MOI 中創建 RAG 工作流
接下來,我們需要登錄 MOI 平台,並創建一個用於處理和檢索數據的工作流。
步驟 1: 創建工作流
登錄您的 MOI 賬户,進入工作流管理界面,點擊"創建工作流"按鈕,為您的新工作流命名。
步驟 2: 搭建工作流
一個基礎的 RAG 工作流至少包含數據解析、文本分段和向量化嵌入三個核心節點。
- 添加解析節點 (Parser Node): 從節點列表中拖拽一個"解析節點"到畫布上。此節點的類型取決於您要處理的數據源。例如,如果您處理的是文檔文件,就選擇文檔解析節點;如果是圖片,則選擇圖片解析節點。
- 添加分段節點 (Chunking Node): 拖拽一個"分段節點"到畫布上。此節點是必不可少的,它負責將解析後的長文本切割成更小、更適合檢索的文本塊(Chunks)。
- 添加文本嵌入節點 (Embedding Node): 拖拽一個"文本嵌入節點"到畫布上。此節點也至關重要,它會調用嵌入模型(Embedding Model)將每個文本塊轉換為向量(Vector),以便後續進行相似度計算和檢索。
- 連接節點: 按照 解析節點 -> 分段節點 -> 文本嵌入節點 的順序,將這三個節點連接起來,形成一個完整的數據處理流水線。
步驟 3: 獲取 API 密鑰與 URL
工作流搭建完成後,您需要獲取用於 API 調用的憑證。
- 在MOI工作區的左下角,找到 API 相關信息。
- 複製 API 密鑰 (API Key): 這是一長串字符,是您訪問此工作流的唯一憑證。
- 獲取 API URL: 記錄下您的 MOI 服務的訪問地址,例如 https://freetier-01.cn-hangzhou.cluster.matrixonecloud.cn。Deerflow 需要的最終接入點(Endpoint)是這個地址後面拼接上 /byoa。
四、 配置 Deerflow 對接 MOI
現在,我們回到 Deerflow 項目,將 MOI 工作流的信息配置進去。
步驟 1: 打開 .env 文件
使用您喜歡的文本編輯器打開位於 Deerflow 項目根目錄下的 .env 文件。
步驟 2: 填寫 MOI 配置信息
在文件中找到或添加以下配置項,並用您在上一步中獲取的信息替換佔位符:
# MOI RAG 服務配置
MOI_API_KEY=your_api_key_here
MOI_API_URL=https://your-moi-instance.com/byoa
配置示例:
步驟 3: 配置基礎模型 (conf.yaml)
除了 RAG 服務,您還需要配置一個基礎的大語言模型(LLM)來處理生成任務。這個模型可以是本地部署的模型(例如通過 Ollama 運行),但關鍵是它必須支持工具調用(Tool Calling)功能。
打開項目根目錄下的 conf.yaml 文件,找到或添加 BASIC_MODEL 配置,並填入您的模型信息。
BASIC_MODEL:
provider: "ollama"
model: "qwen2.5:7b"
api_base: "http://localhost:11434"
其他配置:
web 目錄下的 .env:
VITE_API_URL=http://localhost:8000
五、 啓動並查詢
所有配置完成後,保存文件。現在您可以啓動 Deerflow 服務並開始測試查詢。
啓動服務
Deerflow 提供兩種交互方式,您可以根據需要選擇啓動。
方式一: 控制枱 UI (Console UI)
這是運行項目最快捷的方式。在項目根目錄下執行:
uv run python main.py
方式二: 網頁圖形界面 (Web UI)
此方式提供更動態、更具吸引力的交互體驗。請確保您已完成安裝步驟中的第 5 步。在項目根目錄下,執行啓動腳本:
./start.sh
驗證集成與進行深度檢索
服務啓動後(推薦使用 Web UI 進行驗證),請按照以下步驟操作:
- 進入對話頁面: 打開瀏覽器訪問 http://localhost:3000,進入 Deerflow 歡迎頁後,點擊 "Get Started" 進入主對話界面。
- 驗證接入成功: 在對話框中,如果系統出現提示 "You may refer to RAG by using @",則代表 Deerflow 已成功連接到您配置的 MOI RAG 服務。
-
進行深度檢索:
a. 在輸入框中輸入 @ 符號。
b. 系統會自動彈出一個可供選擇的列表,其中包含您在 MOI 中處理過的文件或文件夾。
c. 選擇您想要檢索的特定數據源,然後輸入您的問題,即可開始針對該數據源的深度檢索查詢。(注意:用户輸入的問題不能是過於簡單或者不需要研究的內容,否則deerflow可能會出錯。)
至此,您已成功將 Deerflow 與 MOI RAG 服務集成,並可以開始您的深度檢索增強生成應用之旅。
觀看直播回放,獲取更詳盡的實戰演示與內容解析
直播 Q&A 環節
Q: 與直接使用多個專業系統相比,MatrixOne 統一存儲的策略在靈活性方面有何優勢?
A: 這是一個關於架構選擇的深度問題。傳統上,結構化與非結構化數據通常由各自的專用數據庫管理。然而,這種分離模式面臨數據分散、難以保證一致性,以及各系統間頻繁同步導致高昂成本等挑戰。同時,對於下游的分析、訓練及查詢任務,多系統模式需要進行多次數據搬運,效率較低。MatrixOne Intelligence (MOI) 通過構建統一的存儲引擎,能夠無縫融合各類數據形態,確保數據與分析在同一份數據上進行,從而在兼顧靈活性的同時,顯著提升數據處理效率與一致性。