本文為您介紹如何通過向量檢索服務Milvus版(簡稱Milvus)和Dify平台構建RAG系統。
背景資訊
RAG原理介紹
大語言模型常因知識局限而產生”幻覺“。檢索增強產生(RAG)技術通過串連外部知識庫,有效解決了這一痛點。要實現高效的RAG,一個強大的向量資料庫至關重要。
本文將聚焦於Milvus,並藉助低代碼AI平台Dify,向您展示如何將二者無縫結合,快速搭建一個企業級的RAG應用,直觀感受向量資料庫在解決AI“最後一公裡”問題上的核心價值。
關於Dify平台
Dify是開源人工智慧應用開發平台,具有低代碼的工作流程和友好的使用者介面的特點,其核心使命是通過將”後端即服務“(Backend-as-a-Service)與”大語言模型營運“(LLMOps)的理念深度融合,來徹底簡化和加速AI應用的構建全過程。
作為一個全棧式的解決方案,Dify在後端層面,提供了穩定可靠的API服務、資料管理等基礎設施,讓開發人員無需從零搭建;在LLM營運層面,提供了一個直觀的可視化提示詞編排介面,讓複雜的提示工程變得簡單高效。其內建的高品質檢索增強產生(RAG)引擎,能夠輕鬆串連企業文檔、資料庫等私人知識庫,讓大模型基於特定領域的知識進行回答,有效減少了資訊幻覺,並確保答案的準確性和可追溯性。
前提條件
已建立Milvus執行個體。具體操作請參見快速建立Milvus執行個體。
已開通阿里雲百鍊服務並獲得API-KEY。具體操作請參見擷取APP ID 和 Workspace ID。
已安裝Docker、Docker-Compose,具體操作請參見安裝並使用Docker和Docker Compose。
操作流程
步驟一:安裝Dify
請通過Git命令將開源Dify專案從GitHub複製至本地。
git clone https://github.com/langgenius/dify.git進入部署目錄備份.env設定檔。
cd dify/docker/ cp .env.example .env修改.env設定檔中以下配置資訊。
# 向量儲存引擎配置 VECTOR_STORE=milvus # 指定向量儲存引擎為Milvus # Milvus串連資訊 MILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530 MILVUS_USER=YOUR_ALIYUN_MILVUS_USER MILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORD本文樣本涉及以下參數,請您根據實際環境替換。
參數
說明
MILVUS_URIMilvus執行個體的訪問地址,格式為
http://<公網地址>:<連接埠>。<公網地址>:您可以在Milvus執行個體的執行個體詳情頁面查看。<連接埠>:您可以在Milvus執行個體的執行個體詳情頁面查看。預設為19530。
MILVUS_USER配置為建立Milvus執行個體時,您自訂的使用者名稱。
MILVUS_PASSWORD配置為建立Milvus執行個體時,您自訂使用者的密碼。
啟動Dify。
docker compose up -d --build
在瀏覽器中訪問
http://127.0.0.1/地址,訪問部署的Dify服務IP地址,設定管理員帳號密碼,並登入進管控台。說明如果是運行在遠程伺服器(例如,雲端服務器或虛擬機器)上,則需要將
127.0.0.1替換為伺服器的公網IP地址或網域名稱,並確保網路能夠正常訪問。
步驟二:設定模型
登入成功後,單擊右上方頭像,在下拉式功能表中選擇設定。

在左側選擇模型供應商,右側選擇千問安裝。
模型安裝成功後,選擇設定API-KEY,將提前準備好的百鍊平台API-KEY 輸入。

請根據實際情況配置系統模型設定。

步驟三:建立知識庫
單擊上方的知識庫,然後單擊建立知識庫。

資料來源選擇匯入已有文本,您可以先單擊README.md下載樣本資料,隨後上傳該樣本資料。

修改相應參數,單擊儲存並處理。

本文樣本修改以下參數:
分段最大長度:設定為1024。
Embedding 模型:選擇text-embedding-v1。
執行完成後,即可看到知識庫建立成功。

步驟四:驗證向量檢索是否成功
登入阿里雲Milvus控制台,選擇您配置的Milvus執行個體,單擊右上方Attu Manager進入Attu頁面,可以看到對應的Collection資料已匯入。更多操作,請參見Attu工具管理。
步驟五:驗證RAG效果
單擊上方工作室回到首頁,選擇從應用模板中建立。

在搜尋方塊中搜尋並使用Knowledge Retreival + Chatbot模板。

在彈出的對話方塊中,單擊建立。

選擇Knowledge Retrieval節點,知識庫設定為上面步驟中建立的知識庫。

選擇LLM節點,將模型設定為qwen-max。

單擊右上方發布,選擇單擊發布更新。

單擊運行,進入測試頁面,輸入一個與知識庫內容相關的問題,即可獲得相應的答案。