本文將介紹如何在部署RAG服務時關聯RDS PostgreSQL引擎實例,以及對RAG對話系統的基礎功能和RDS PostgreSQL的特色功能進行說明。
背景信息
EAS簡介
EAS(Elastic Algorithm Service)是PAI的模型在線服務平臺,支持將模型部署為在線推理服務和AI-Web應用。EAS提供了彈性擴縮容和藍綠部署等功能,可以支撐您以較低的資源成本獲取高并發且穩定的在線算法模型服務。此外,EAS具備資源組管理和版本控制等功能,并且有完整運維監控體系等能力。更詳細的內容介紹,請參見EAS模型服務概述。
RAG簡介
隨著AI技術的飛速發展,生成式人工智能在文本生成、圖像生成等領域展現出了令人矚目的成就。然而,在廣泛應用大語言模型(LLM)的過程中,一些固有局限性逐漸顯現:
領域知識局限:大語言模型通常基于大規模通用數據集訓練而成,難以針對專業垂直領域提供深入和針對性處理。
信息更新滯后:由于模型訓練所依賴的數據集具有靜態特性,大模型無法實時獲取和學習最新的信息與知識進展。
模型誤導性輸出:受制于數據偏差、模型內在缺陷等因素,大語言模型可能會出現看似合理實則錯誤的輸出,即所謂的“大模型幻覺”。
為克服這些挑戰,并進一步強化大模型的功能性和準確性,檢索增強生成技術RAG(Retrieval-Augmented Generation)應運而生。這一技術通過整合外部知識庫,能夠顯著減少大模型虛構的問題,并提升其獲取及應用最新知識的能力,從而實現更個性化和精準化的LLM定制。
RDS PostgreSQL簡介
阿里云關系型數據庫RDS(Relational Database Service)支持PostgreSQL引擎。PostgreSQL的優點主要集中在對SQL規范的完整實現以及豐富多樣的數據類型支持,包括JSON數據、IP數據和幾何數據等。除了完美支持事務、子查詢、多版本控制(MVCC)、數據完整性檢查等特性外,RDS PostgreSQL還集成了高可用和備份恢復等重要功能,減輕您的運維壓力。更多關于RDS PostgreSQL的高級功能介紹,請參見RDS PostgreSQL。
使用流程
EAS自建了RAG系統化解決方案,提供了靈活可調的參數配置,您可以通過WebUI或者API調用RAG服務,定制自己專屬的對話系統。RAG技術架構的核心為檢索和生成:
在檢索方面,EAS支持多種向量檢索庫,包括開源的Faiss和阿里云的Milvus、Elasticsearch、Hologres、OpenSearch以及RDS PostgreSQL。
在生成方面,EAS支持豐富的開源模型,例如通義千問、Llama、Mistral、百川等,同時支持ChatGPT調用。
本方案以RDS PostgreSQL為例,為您介紹如何使用EAS與RDS PostgreSQL構建一個大模型RAG對話系統。具體流程如下:
首先創建RDS PostgreSQL實例,并準備部署RAG服務關聯該實例時依賴的配置項。
在EAS模型在線服務平臺部署RAG服務,并關聯RDS PostgreSQL實例。
您可以在RAG對話系統中連接RDS PostgreSQL,上傳企業知識庫文件,并進行知識問答。
前提條件
已創建專有網絡VPC、交換機和安全組。具體操作,請參見搭建IPv4專有網絡和創建安全組。
注意事項
本實踐受制于LLM服務的最大Token數量限制,旨在幫助您體驗RAG對話系統的基本檢索功能:
該對話系統受制于LLM服務的服務器資源大小以及默認Token數量限制,能支持的對話長度有限。
如果無需進行多輪對話,建議您在RAG服務的WebUI頁面關閉with chat history功能,這樣能有效減少達到限制的可能性。詳情請參見如何關閉RAG服務的with chat history功能。
準備向量檢索庫RDS PostgreSQL
步驟一:創建RDS PostgreSQL實例和數據庫
創建RDS PostgreSQL實例。
在購買頁面,配置以下關鍵參數,其他參數配置說明,請參見創建RDS PostgreSQL實例。
引擎:選擇PostgreSQL。
VPC:選擇已創建的專有網絡。
高權限賬號:在更多配置區域,配置高權限賬號。選擇立即設置,并配置數據庫賬號和密碼。
按照控制臺操作指引完成支付和開通操作。
創建數據庫。
單擊已創建的實例名稱,在左側導航欄單擊數據庫管理,并單擊創建數據庫。
在創建數據庫配置面板中,配置數據庫(DB)名稱,授權賬號選擇已創建的高權限賬號,其他參數配置說明,請參見創建賬號和數據庫。
參數配置完成后,單擊創建。
步驟二:準備配置項
查詢數據庫連接地址。
在RDS PostgreSQL實例詳情頁面的左側導航欄,選擇數據庫連接,并查看數據庫內網地址、外網地址,以及相應的端口號。
使用內網地址:RAG服務需要和數據庫在同一個VPC下。
使用外網地址:當EAS通過外網地址訪問RDS PostgreSQL時,EAS需要具備訪問公網的能力。同時,為確保PostgreSQL實例能夠接收來自EAS實例的公網請求,您需要為PostgreSQL開通外網地址,并將相關EIP地址或0.0.0.0/0加入白名單。具體操作步驟如下:
為RDS PostgreSQL開通外網地址。具體操作,請參見開通或關閉外網地址。
為EAS開通公網訪問能力,您需要為后續部署RAG服務時添加的VPC綁定NAT網關和彈性公網IP(EIP)。具體操作,請參見使用公網NAT網關SNAT功能訪問互聯網。
說明RAG服務可以使用與RDS PostgreSQL相同的VPC,也可以使用其他VPC。
將0.0.0.0/0或上述彈性公網IP(EIP)地址添加為RDS PostgreSQL實例外網地址白名單。具體操作,請參見設置白名單。
查詢高權限賬號和密碼。
在RDS PostgreSQL實例詳情頁面的左側導航欄,選擇賬號管理。在該頁面查看已創建的高權限賬號,相應密碼在創建實例時設定,如果忘記可單擊重置密碼進行修改。
部署RAG服務并關聯RDS PostgreSQL實例
登錄PAI控制臺,選擇工作空間,并單擊進入EAS。
在模型在線服務(EAS)頁面,單擊部署服務,然后在場景化模型部署區域,單擊大模型RAG對話系統部署。
在部署大模型RAG對話系統頁面,配置以下關鍵參數,其他參數配置說明,請參見步驟一:部署RAG服務。
參數
描述
基本信息
模型來源
選擇開源公共模型。
模型類別
選擇Qwen1.5-1.8b。
資源配置
資源配置選擇
系統會根據已選擇的模型類別,自動推薦適合的資源規格。更換至其他資源規格,可能會導致模型服務啟動失敗。
向量檢索庫設置
版本類型
選擇RDS PostgreSQL。
主機地址
配置為RDS PostgreSQL實例的內網地址或外網地址。
端口
配置為RDS PostgreSQL實例的端口號,例如5432。
數據庫
請輸入已創建的數據庫名稱。
表名稱
請輸入新的表名稱或已存在的表名稱。對于已存在的表,表結構應符合PAI-RAG要求,例如您可以填寫之前通過EAS部署RAG服務時自動創建的表名稱。
賬號
請輸入已創建的高權限賬號。
密碼
請輸入高權限賬號對應的密碼。
專有網絡配置
VPC
當主機地址使用內網地址時,RAG服務需要配置與RDS PostgreSQL實例一致的專有網絡。
當主機地址使用外網地址時,RAG服務需要配置專有網絡,您需要確保該專有網絡具有公網訪問能力,詳情請參見使用公網NAT網關SNAT功能訪問互聯網。同時您需要將綁定的彈性公網IP或
0.0.0.0/0
添加為RDS PostgreSQL實例的公網訪問白名單,詳情請參見設置白名單。
交換機
安全組名稱
參數配置完成后,單擊部署。
使用RAG對話系統
1、連接向量檢索庫
RAG對話系統的基本使用方法如下,更多詳細介紹,請參見大模型RAG對話系統。
RAG服務部署成功后,單擊服務方式列下的查看Web應用,啟動WebUI頁面。
測試向量檢索庫PostgreSQL連接是否正常。
系統已自動識別并應用了部署服務時配置的向量檢索庫設置,您可以單擊Connect PostgreSQL,來驗證PostgreSQL向量檢索版實例是否連接正常。如果連接失敗,請參考步驟二:準備配置項,檢查向量檢索庫配置是否正確,修改對應配置項為正確配置,然后單擊Connect PostgreSQL,重新連接PostgreSQL實例。
2、上傳企業知識庫文件
您可以按照以下流程上傳您的企業知識庫文件,系統會自動按照PAI-RAG格式將知識庫存儲到向量檢索庫中,以方便您進行后續的知識檢索。您也可以利用向量檢索庫中已有的知識庫,但必須符合PAI-RAG格式要求,否則可能會導致檢索報錯。
在Upload頁簽,設置語義分塊參數。
通過配置以下參數來控制文檔分塊粒度的大小和進行QA信息提取:
參數
描述
Chunk Size
指定每個文本分塊的大小,單位為字節,默認為500。
Chunk Overlap
表示相鄰分塊之間的重疊量,默認為10。
Process with QA Extraction Model
通過選中Yes復選框啟動QA信息提取功能,系統將在您上傳企業知識庫文件后自動抽取出QA對,以獲得更好的檢索和回答效果。
在Files或Directory頁簽下上傳企業知識庫文件(支持多文件上傳)或對應目錄。支持的文件類型為.txt、.pdf、Excel(.xlsx或.xls)、.csv、Word(.docx或.doc)、Markdown或.html,例如rag_chatbot_test_doc.txt。
單擊Upload,系統會先對上傳的文件進行數據清洗(包括文本提取、超鏈接替換等)和語義切塊,然后進行上傳。
3、進行知識問答
將檢索返回的結果與用戶的問題輸入至已選擇的Prompt模板中,送入EAS-LLM服務,從中獲取問答結果。
RDS PostgreSQL特色功能支持
訪問RDS實例列表,切換到實例所在地域,然后單擊實例名稱,進入實例詳情頁面。
在左側導航欄選擇數據庫管理,然后單擊目標數據庫操作列下的SQL查詢。
輸入數據庫賬號和數據庫密碼,即您在創建RDS PostgreSQL時設置的高權限賬號和密碼,然后單擊登錄。
登錄成功后,在已登錄數據庫實例中查詢導入的知識庫列表。
相關文檔
針對AIGC和LLM的典型前沿場景,EAS提供了簡化的部署方式。您可以很方便地一鍵拉起服務,包括ComfyUI部署、Stable Diffusion WebUI部署、ModelScope模型部署、HuggingFace模型部署、Triton部署以及TFserving部署等。詳情請參見EAS場景化部署說明。
RAG服務WebUI界面提供了豐富的推理參數配置選項,以滿足多樣化需求。此外,RAG服務也支持通過API接口進行調用。具體實現細節以及參數配置說明,請參見大模型RAG對話系統。
大模型RAG對話系統還支持與其他向量檢索庫進行關聯,例如Milvus、OpenSearch或Elasticsearch等。詳情請參見基于EAS&Milvus搭建RAG檢索增強對話系統、基于EAS&Elasticsearch搭建RAG檢索增強對話系統或基于EAS&OpenSearch搭建RAG檢索增強對話系統或。