大語言模型的知識缺少企業私人或即時的資料,通過檢索增強產生RAG(Retrieval-Augmented Generation)技術可以檢索私人知識庫,並以內容相關的方式提供給大語言模型,從而增強大語言模型回答的準確性和相關性。本文將詳細介紹如何在LangStudio中開發和部署RAG應用。
背景資訊
在現代資訊檢索領域,RAG模型結合了資訊檢索和產生式人工智慧的優勢,能夠在特定應用情境中提供更為精準和相關的答案。例如在金融、醫學等專業領域,使用者通常需要精確且相關的資訊來支援決策。傳統的產生模型雖然在自然語言理解和產生方面表現出色,但在專業知識的準確性上可能存在不足。RAG模型通過將檢索與產生技術相結合,有效提升了回答的準確性和上下文相關性。本文以人工智慧平台PAI為基礎產品,為您介紹面向金融、醫學情境的大模型RAG檢索增強解決方案。
前提條件
1. (可選)部署LLM和Embedding模型
RAG應用流需要用到LLM和Embedding模型服務,本節將詳細介紹如何通過ModelGallery快速部署所需的模型服務。若您已有符合要求的模型服務,且服務支援OpenAI API,則可跳過此步驟,直接使用現有服務。
前往快速開始 > ModelGallery,分別部署以下兩種情境的模型。更多部署詳情,請參見模型部署及訓練。
請務必選擇使用指令微調的大語言模型,Base模型無法正確遵循使用者指令回答問題。
情境選擇大語言模型,以DeepSeek-R1-Distill-Qwen-7B為例進行部署。

情境選擇Embedding,以bge-m3 通用向量模型為例進行部署。

2. 建立串連
本文建立的LLM和Embedding模型服務串連基於快速開始 > Model Gallery中部署的模型服務(EAS服務)。更多其他類型的串連及詳細說明,請參見服務串連配置。
2.1 建立LLM服務串連
進入LangStudio,選擇工作空間後,在服務串連配置 > 模型服務頁簽下單擊建立串連,建立通用LLM模型服務串連。

關鍵參數說明:
參數 | 說明 |
模型名稱 | 當通過Model Gallery進行模型部署時,可通過模型詳情頁(在Model Gallery頁單擊模型卡片)查看模型名稱的擷取方法,詳情請參見建立串連-模型服務。 |
服務提供者 |
|
2.2 建立Embedding模型服務串連
同2.1 建立LLM服務串連類似,建立通用Embedding模型服務串連。

2.3 建立向量資料庫連接
在服務串連配置 > 資料庫頁簽下單擊建立串連,建立Milvus資料庫連接。

關鍵參數說明:
參數 | 說明 |
uri | Milvus執行個體的訪問地址,格式為 |
token | 登入Milvus執行個體的使用者名稱和密碼,即 |
database | 資料庫名稱,本文使用預設資料庫 |
3. 建立知識庫索引
建立知識庫索引,將語料經過解析、分塊、向量化後儲存到向量資料庫,從而構建知識庫。其中關鍵參數配置說明如下,其他配置詳情,請參見建立知識庫索引。
參數 | 描述 |
基礎配置 | |
資料來源OSS路徑 | 配置前提條件中RAG知識庫語料的OSS路徑。 |
輸出OSS路徑 | 配置文檔解析產生的中間結果和索引資訊的路徑。 重要 當使用FAISS作為向量資料庫時,應用流會將產生的索引檔案儲存到OSS。若使用PAI預設角色(應用流開發-啟動運行時時設定的執行個體RAM角色),應用流可以預設訪問使用者工作空間的預設儲存Bucket,因此建議將此參數配置為當前工作空間預設儲存路徑所在的OSS Bucket下的任一目錄。如果使用自訂角色,您需要為自訂角色授予OSS的存取權限(建議授予AliyunOSSFullAccess許可權),詳情請參見為RAM角色授權。 |
Embedding模型和資料庫 | |
Embedding類型 | 選擇通用Embedding模型。 |
Embedding串連 | 選擇2.2 建立Embedding模型服務串連中建立的Embedding模型服務串連。 |
向量資料庫類型 | 選擇向量資料庫Milvus。 |
向量資料庫連接 | 選擇2.3 建立向量資料庫連接中建立的Milvus資料庫連接。 |
資料表名 | 配置前提條件中建立Milvus資料庫的Collection。 |
專用網路配置 | |
專用網路配置 | 請確保所配置的專用網路與Milvus執行個體保持一致,或確保已選的專用網路和Milvus執行個體所在的專用網路已經互連。 |
4. 建立並運行RAG應用流
進入LangStudio,選擇工作空間後,在應用流頁簽下單擊建立應用流,建立RAG應用流。

啟動運行時:單擊右上方建立運行時並進行配置。註:在進行Python節點解析或查看更多工具時,需要保證運行時已啟動。

關鍵參數說明:
專用網路配置:選擇前提條件中建立Milvus執行個體時的專用網路,或確保已選的專用網路和Milvus執行個體所在的專用網路已經互連。
開發應用流。

應用流中的其餘配置保持預設或根據實際需求進行配置,關鍵節點配置如下:
知識庫檢索:在知識庫中檢索與使用者問題相關的文本。
知識庫索引名稱:選擇3. 建立知識庫索引中建立的知識庫索引。
Top K:返回Top K條匹配的資料。
大模型節點:使用檢索到的文檔作為上下文,與使用者問題一起發送給大語言模型,產生回答。
模型設定:選擇2.1 建立LLM服務串連中建立的串連。
對話歷史:是否啟用對話歷史,將歷史對話資訊作為輸入變數。
關於各節點群組件詳情,請參見附錄:預置組件說明。
調試/運行:單擊右上方運行,開始執行應用流。關於應用流程執行時的常見問題,請參見常見問題。

查看鏈路:單擊產生答案下的查看鏈路,查看Trace詳情或拓撲視圖。

5. 部署應用流
在應用流開發頁面,單擊右上方部署,將應用流部署為EAS服務。部署參數其餘配置保持預設或根據實際需求進行配置,關鍵參數配置如下:
資源部署 > 執行個體數:佈建服務執行個體數。本文部署僅供測試使用,因此執行個體數配置為1。在生產階段,建議配置多個服務執行個體,以降低單點故障的風險。
專用網路 > VPC:配置Milvus執行個體所在的專用網路,或確保已選的專用網路和Milvus執行個體所在的專用網路已經互連。
更多部署詳情,請參見應用流部署。
6. 調用服務
部署成功後,跳轉到PAI-EAS,在線上調試頁簽下配置並發送請求。請求Body中的Key與應用流中“開始節點”中的參數"對話輸入"欄位一致,本文使用預設欄位question。

更多調用方式(如API調用)及詳細說明,請參見應用流部署-調用服務。