RAG(檢索增強生成)解決了傳統(tǒng)大語言模型常因知識局限而產(chǎn)生“幻覺”,想要低成本高效實現(xiàn)RAG該如何操作呢?站長百科將在下文借助阿里云Milvus和低代碼AI平臺Dify,快速構(gòu)建企業(yè)級檢索增強生成(RAG)應(yīng)用,提升AI應(yīng)用的回答準確性與可靠性。
一、各平臺簡介
1、阿里云Milvus
阿里云官網(wǎng):點擊直達
阿里云向量檢索服務(wù)Milvus版是一款全托管向量檢索引擎,100%兼容開源Milvus,在性能、穩(wěn)定性、可用性、管控能力等多個方向進行大量優(yōu)化的云原生化向量檢索引擎。在開源版版本的基礎(chǔ)上增強了穩(wěn)定性、可用性與可擴展性,能提供超大規(guī)模向量數(shù)據(jù)的相似性檢索服務(wù)。
阿里云向量檢索服務(wù)Milvus版基于Serverless的架構(gòu)打造產(chǎn)品能力,提供快速的水平和垂直集群擴展能力;同時集成了豐富的Vector檢索庫,憑借其高性能、高可用性的特點,支持混合查詢、聚合檢索、多向量查詢等高階能力,為用戶提供高效且穩(wěn)定的向量數(shù)據(jù)檢索能力。
阿里云向量檢索服務(wù)Milvus版快速上手:
- 開通阿里云Milvus服務(wù):打開阿里云Milvus開通頁面,通過資源計算器大致評估所需的計算資源規(guī)模;
- 完成權(quán)限授權(quán)并導入數(shù)據(jù):完成權(quán)限授權(quán)以及網(wǎng)絡(luò)安全配置,通過SDK或Attu數(shù)據(jù)可視化組件導入數(shù)據(jù);
- 進行向量檢索:使用阿里云Milvus進行向量檢索,檢查Milvus實例監(jiān)控、報警功能,并體驗更多功能。
2、Dify
Dify是一個開源人工智能應(yīng)用開發(fā)平臺,常用來和n8n工作流平臺作比較,具有低代碼的工作流和友好的用戶界面的特點,其核心使命是通過將“后端即服務(wù)”(Backend-as-a-Service)與“大語言模型運維”(LLMOps)的理念深度融合,來徹底簡化和加速AI應(yīng)用的構(gòu)建全過程。
Dify是一個全棧式的解決方案,后端層面提供了穩(wěn)定可靠的API服務(wù)、數(shù)據(jù)管理等基礎(chǔ)設(shè)施,讓開發(fā)者無需從零搭建;在 LLM 運維層面,提供了一個直觀的可視化提示詞編排界面,讓復雜的提示工程變得簡單高效。其內(nèi)置的高質(zhì)量檢索增強生成(RAG)引擎,能夠輕松連接企業(yè)文檔、數(shù)據(jù)庫等私有知識庫,讓大模型基于特定領(lǐng)域的知識進行回答,有效減少了信息幻覺,并確保答案的準確性和可追溯性。
二、RAG系統(tǒng)構(gòu)建條件
基于本教程的RAG系統(tǒng)搭建指南需要確保已經(jīng)創(chuàng)建阿里云Milvus實例,并且開通百煉服務(wù)并獲得API-KEY。
獲取APP ID和Workspace ID步驟如下:
1、獲取APP ID
APP ID即應(yīng)用ID,通過接口調(diào)用阿里云百煉的應(yīng)用(智能體、工作流或智能體編排)時,需要獲取APP ID,并將代碼示例中的YOUR_APP_ID替換為實際值。
前往應(yīng)用管理頁面,找到目標應(yīng)用,您即可獲取應(yīng)用ID。
2、獲取Workspace ID
Workspace ID即業(yè)務(wù)空間ID,是業(yè)務(wù)空間的唯一標識,一經(jīng)生成即保持不變。示例:llm-7c72iiw36kd8****。通過API調(diào)用子業(yè)務(wù)空間下的應(yīng)用時需要指定Workspace ID。調(diào)用默認業(yè)務(wù)空間下的應(yīng)用時無需傳遞Workspace ID。
獲取主賬號下的所有業(yè)務(wù)空間ID:請前往業(yè)務(wù)空間管理界面獲取。需主賬號操作。如需使用子賬號,請為您的子賬號配置管控層權(quán)限(需AliyunBailianFullAccess或AliyunBailianControlFullAccess),否則訪問頁面會報錯。
獲取當前業(yè)務(wù)空間ID:請前往阿里云百煉控制臺首頁,然后單擊界面左下角的小箭頭圖標,再單擊業(yè)務(wù)空間詳情獲取。默認情況下,子賬號只能查看已加入的子業(yè)務(wù)空間的ID。
以上不支持通過API或命令行操作。
三、阿里云Milvus和Dify平臺構(gòu)建RAG系統(tǒng)教程
1、安裝與配置Dify
在開始之前,請確保本地Git、Docker、Docker-Compose安裝完畢。
將dify項目通過git命令clone到本地
git clone https://github.com/langgenius/dify.git
進入目錄備份.env配置文件
cd dify
cd docker
cp .env.example .env
修改配置文件.env
VECTOR_STORE=milvus
MILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530
MILVUS_USER=YOUR_ALIYUN_MILVUS_USER
MILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORD
注意:用Aliyun Milvus的公網(wǎng)地址替換YOUR_ALIYUN_MILVUS_ENDPOINT;用Aliyun Milvus的用戶名替換YOUR_ALIYUN_MILVUS_USER;用Aliyun Milvus的密碼替換YOUR_ALIYUN_MILVUS_PASSWORD。
通過docker compose命令啟動
docker compose up -d
安裝成功驗證
啟動后訪問http://127.0.0.1/ 進入dify的登陸頁面,設(shè)置管理員賬號密碼,并登陸進管控臺。
2、設(shè)置默認模型
在設(shè)置–模型提供商處安裝模型供應(yīng)商,在這里我們選用了通義千問的模型,可以將在百煉平臺獲取API-KEY 輸入,驗證綠燈即可。
系統(tǒng)模型設(shè)置:將通義千問對應(yīng)的模型設(shè)置到每種模型處。
3、準備數(shù)據(jù)集創(chuàng)建知識庫
接下來準備測試數(shù)據(jù)來創(chuàng)建知識庫。
在選擇數(shù)據(jù)源處選擇“導入已有文本”,可使用milvus官網(wǎng)的中文README作為測試數(shù)據(jù)源文件
https://github.com/milvus-io/milvus/blob/master/README_CN.md
參考如下配置進行數(shù)據(jù)源的處理與保存,創(chuàng)建知識庫。
可以看到數(shù)據(jù)庫已經(jīng)成功創(chuàng)建,并且索引創(chuàng)建完畢。
4、驗證向量檢索是否成功
通過docker logs 查看,可以看到dify日志里顯示上傳成功;
訪問集群Attu Manager控制臺,可以看到對應(yīng)的collection 數(shù)據(jù)已導入。
5、驗證RAG效果
- 在應(yīng)用模板中創(chuàng)建一個knowledge retreival + chatbot作為基礎(chǔ)模板;
- 修改knowledge retreival節(jié)點,設(shè)置前步驟的知識庫;
- 修改chatbot節(jié)點,設(shè)置語言大模型,這里使用qwen-max大模型;
- 設(shè)置好后點擊發(fā)布,然后點運行進入測試界面;
- 這里輸入一個與知識庫中內(nèi)容相關(guān)的問題,可以得到答案。
如果想體驗阿里云Milvus的相關(guān)能力,可以在阿里云官網(wǎng)搜索向量檢索服務(wù)Milvus版進行體驗。產(chǎn)品新用戶也可免費領(lǐng)取1個月試用資格。此外阿里云為了回饋新老用戶,推出了重大優(yōu)惠:
阿里云向量檢索服務(wù)Milvus版 限時年付5折!購買地址
-
廣告合作
-
QQ群號:4114653