在阿里云上,您可以通過人工智能平臺PAI快速部署一個大模型RAG對話系統。通過AppFlow的集成,您可以將該對話系統集成到釘釘群聊或微信等各種場景中,讓您隨時隨地使用您的專屬機器人。本文將以釘釘群聊場景為例,為您介紹PAI RAG+AppFlow的部署方案。
方案概覽
以基于開源項目EasyRec的知識庫文檔搭建釘釘答疑機器人為例,介紹PAI RAG+AppFlow的部署方案。方案只需以下幾步:
|
1. 部署PAI RAG應用
首先您需要部署一個大模型RAG對話應用,用于實現AI助手。具體操作步驟如下:
登錄PAI控制臺,在頁面上方選擇目標地域,并在右側選擇目標工作空間,然后單擊進入EAS。
在模型在線服務(EAS)頁面,單擊部署服務,然后在場景化模型部署區域,單擊大模型RAG對話系統部署。
在部署大模型RAG對話系統頁面,配置以下關鍵參數。
基本信息
參數
描述
服務名稱
自定義服務名稱,例如pai_rag_test1。
模型來源
本方案選擇開源公共模型。
您也可以選擇自持微調模型,但需提前準備好您的私有模型。通過分布式訓練(DLC)完成模型訓練后,您可以將模型訓練結果導入阿里云對象存儲OSS或文件存儲NAS中,詳情請參見在DLC訓練任務中使用云存儲。
模型類別
本方案選擇Qwen1.5-1.8b。
資源配置
資源配置選擇:選擇模型類別后,系統會自動推薦適合的資源規格,無需您進行配置。如果更換至其他資源規格,可能會導致模型服務啟動失敗。
向量檢索庫設置
RAG支持通過Faiss(Facebook AI Similarity Search)、阿里云Elasticsearch、Milvus、Hologres、OpenSearch-向量檢索版或RDS PostgreSQL構建向量檢索庫。本方案以FAISS為例,參數配置說明如下。您也可以選擇使用其他向量檢索庫,如何準備向量檢索庫以及相關配置項,請參見向量檢索庫設置。
參數
描述
版本類型
選擇FAISS。
OSS地址
選擇當前地域下已創建的OSS存儲路徑,用來存儲上傳的知識庫文件。如果沒有可選的存儲路徑,您可以參考控制臺快速入門進行創建。
說明如果您選擇使用自持微調模型部署服務,請確保所選的OSS存儲路徑不與自持微調模型所在的路徑重復,以避免造成沖突。
參數配置完成后,單擊部署。
查看PAI RAG應用服務Token。
在模型在線服務(EAS)頁面,單擊目標服務名稱。
在基本信息區域單擊查看調用信息,并在調用信息對話框的公網地址調用頁簽,獲取Token。
2. 創建釘釘應用
接下來,您需要按照以下操作步驟在您的組織中創建釘釘應用,作為AI助手回答用戶問題。
創建釘釘應用需要您的釘釘賬號有開發者權限。您可以聯系您的組織管理員獲取釘釘開放平臺的開發權限,具體操作請參見獲取開發者權限。
2.1 創建應用
訪問釘釘開放平臺,單擊創建。如果創建過應用未展示應用開發指引,請單擊立即開始進入釘釘應用頁面。
在應用開發的左側導航欄中,單擊釘釘應用,在釘釘應用頁面右上角單擊創建應用。
在創建應用面板,填寫應用名稱和應用描述,上傳應用圖標,完成后單擊保存。
2.2 查看應用Client ID和Client Secret
在左側導航欄選擇憑證與基礎信息,復制Client ID和Client Secret,用于下一步創建連接流。
2.3 創建消息卡片
釘釘機器人通過卡片消息支持流式返回結果,您需要創建卡片模板供消息發送使用。
訪問卡片平臺,單擊新建模板。
在創建模板輸入框,填入模板信息。
在模擬編輯頁面,保存并發布模板。然后單擊返回模板列表頁面。
復制模板ID,用于創建釘釘連接流時使用。
2.4 授予應用發送卡片消息權限
創建卡片后,您需要給應用授予發送卡片消息的權限。
訪問釘釘應用列表。找到上述已創建的應用,單擊應用名稱進入詳情頁面。
在左側導航欄選擇
,在左側搜索框分別輸入Card.Streaming.Write
和Card.Instance.Write
,并在操作列單擊申請權限。
3. 創建AppFlow連接流
AppFlow可以讓您在不寫代碼的情況下,通過界面配置就可以將PAI RAG應用和釘釘連接起來。您可以通過預置的AppFlow模板創建一個釘釘機器人連接流。
使用AppFlow模板創建連接流,單擊立即使用進入創建流程。
在連接流的賬戶授權配置向導頁,選擇憑證并單擊下一步。
為大模型RAG對話應用選擇憑證:
單擊前往授權,在創建憑證對話框中,填入您之前獲取的PAI RAG應用服務Token,并設置一個憑證名稱。
為釘釘應用機器人選擇憑證:
單擊前往授權,在創建憑證對話框中,填入您之前獲取的釘釘應用的Client ID和Client Secret,并設置一個憑證名稱。
在執行動作配置向導頁,填寫PAI RAG應用服務所在的region、workspaceId以及服務名稱,并配置模板ID,參數配置完成后單擊下一步。
在基本信息配置向導頁,填寫連接流名稱和連接流描述(建議保持默認),完成后單擊下一步。
界面提示流程配置成功,復制WebhookUrl,并單擊發布。
4. 配置釘釘機器人
有了webhook地址后,接下來您可以在釘釘應用中配置機器人來回答用戶問題。
4.1配置釘釘機器人
訪問釘釘應用列表。找到剛剛創建的應用,單擊應用名稱進入詳情頁面。
在添加應用能力頁面,找到機器人卡片,單擊添加。
在機器人配置頁面,打開機器人配置開關,您可以參考下圖完成配置。消息接收模式請選擇HTTP模式,消息接收地址填寫上述已獲取的WebhookUrl。然后單擊發布。
重要消息接收模式請選擇HTTP模式,目前AppFlow僅支持HTTP模式,選擇Stream模式會導致無法返回消息。
4.2發布應用版本
應用創建完成后,如果需要將應用供企業內其他用戶使用,需要發布一個版本。
在左側導航欄,選擇
,然后在版本管理與發布頁面,單擊創建新版本。在版本詳情頁面,輸入應用版本號和版本描述,并選擇合適的應用可用范圍,然后單擊保存,并在彈框中單擊直接發布。
4.3測試機器人
您可以創建群聊或在已有群聊中添加機器人,并與機器人進行對話,體驗其功能效果。
在釘釘群管理中添加機器人。
進入釘釘群群設置頁面,單擊機器人卡片區域,然后在機器人管理頁面,單擊添加機器人。
在機器人對話框的搜索文本框中輸入您剛剛創建的機器人名稱,并選中要添加的機器人。然后單擊添加,完成后再單擊完成添加。
在釘釘群中@機器人,進行交流互動。
5. 為PAI RAG應用增加私有知識
以上傳開源項目EasyRec的知識庫文檔為例,當您提出與EasyRec相關的問題時,能夠獲得更準確的回答。
登錄PAI控制臺,在頁面上方選擇目標地域,并在右側選擇目標工作空間,然后單擊進入EAS。
在模型在線服務(EAS)頁面,單擊目標服務的服務方式列下的查看Web應用。
在Upload頁簽,上傳知識庫文件。例如source.zip,解壓后通過Directory上傳。
您可以在釘釘群中發送與EasyRec相關的問題,來檢驗機器人回答效果。