在阿里云上,您可以通過人工智能平臺PAI快速部署一個大模型RAG對話系統。通過AppFlow的集成,您可以將該對話系統集成到釘釘群聊或微信等各種場景中,讓您隨時隨地使用您的專屬機器人。本文將以企業微信為例,為您介紹PAI RAG+AppFlow的部署方案。
方案概覽
以基于開源項目EasyRec的知識庫文檔搭建AI助手為例,介紹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創建應用
訪問企業微信開發者中心,掃碼登錄,點擊立即創建。根據指引選擇以企業身份創建和企業內部應用。
在頂部導航欄中,選擇應用管理,在應用頁面下半部分點擊創建應用。
在創建應用頁面,填寫應用名稱和應用介紹,上傳應用 logo,選擇可見范圍,完成后點擊創建應用。
2.2獲取企業ID、應用AgentId和Secret
在應用詳情頁面,復制 AgentID,并查看 Secret,用于下一步創建連接流。
在頂部導航欄中,選擇我的企業,在企業信息頁面,復制企業 ID,用于下一步創建連接流。
3. 創建企業微信連接流
AppFlow可以讓您在不寫代碼的情況下,通過界面配置就可以將PAI RAG應用和企業微信連接起來。您可以通過預置的AppFlow模板創建一個企業微信連接流。
使用AppFlow模板創建連接流,單擊立即使用進入創建流程。
在連接流的賬戶授權配置向導頁,在選擇憑證下拉列表中單擊添加新憑證。然后在創建憑證對話框中,填入之前獲取的企業微信的企業ID,應用的AgentId和Secret,單擊刷新按鈕生成Token和EncodingAESKey,并設置一個自定義憑證名稱。同時復制保存IP白名單,用于下一步配置IP白名單。
在連接流的賬戶授權配置向導頁,在選擇憑證下拉列表中單擊添加新憑證。在創建憑證對話框中,填入步驟1獲取的RAG應用Token,并設置一個自定義憑證名稱。
在執行動作配置向導頁,填寫PAI RAG應用服務所在的region、workspaceId和服務名稱,完成后單擊下一步。
在基本信息配置向導頁,填寫連接流名稱和連接流描述(建議保持默認),完成后單擊下一步。
界面提示流程配置成功,復制WebhookUrl,單擊發布。
4. 配置企業微信應用
有了 Webhook 地址后,接下來您可以在企業微信應用中配置接收消息來回答用戶問題了。
4.1配置企業微信應用
訪問企業微信應用列表。找到剛剛創建的應用,點擊應用名稱進入詳情頁面。
在應用詳情頁面,找到接收消息卡片,點擊設置API接收。
在API接收消息頁面,您可以參考下圖完成配置。URL填入上一步的 WebhookUrl,Token 和 EncodingAESKey 填入上一步配置的值(如果之前未保存,可以在AppFlow連接憑證頁面,在公共連接器>企業微信中,找到剛剛配置的憑證,從憑證中獲取)。然后點擊保存。
4.2配置IP白名單
在應用詳情頁面,在頁面下方開發者接口找到企業可信IP卡片,點擊配置。
在企業可信IP對話框,粘貼復制的 IP 地址,然后點擊確定。
4.3測試應用
你可以在企業微信中搜索應用并發送消息,查看效果。
在企業微信頂部搜索框搜索應用名稱,單擊應用進入聊天。
與應用對話,進行交流互動。
5. 為PAI RAG應用增加私有知識
以上傳開源項目EasyRec的知識庫文檔為例,當您提出與EasyRec相關的問題時,能夠獲得更準確的回答。
登錄PAI控制臺,在頁面上方選擇目標地域,并在右側選擇目標工作空間,然后單擊進入EAS。
在模型在線服務(EAS)頁面,單擊目標服務的服務方式列下的查看Web應用。
在Upload頁簽,上傳知識庫文件。例如source.zip,解壓后通過Directory上傳。
您可以在企業微信中發送與EasyRec相關的問題,來驗證企業微信AI助手回答效果。
常見問題
域名主體校驗未通過怎么辦?
當您在企業微信后臺配置 API 接收消息,報錯提示“域名主體校驗未通過,需配置備案主體與當前企業主體相同或有關聯關系的域名”時。
如果您的域名已在阿里云備案,您可以參考如下步驟配置和使用您的自有域名:
在域名管理頁面,單擊創建域名按鈕,進入創建域名頁面,填入可用的二級域名,如
airobot.example.com
,配置您的二級域名 CNAME 解析到下圖中第二步記錄值。解析配置完成后,點擊提交。
如果您的域名沒有在阿里云備案,您可以配置API接收消息為您自有的域名,并在您自有域名對外提供服務的Nginx上配置轉發規則,將請求轉發到連接流的WebhookUrl。
配置企業可信 IP 時,報錯“以下IP屬于第三方服務商,為保證企業數據安全,請配置本企業服務器的IP”?
報錯原因:企業微信出于安全考慮,調用通訊錄、身份校驗接口時需要校驗可信域名和可信 IP,其中一個可信 IP 僅能用于企業微信中的一個企業,如果用于多個企業將被認定為服務商,從而導致通訊錄、身份校驗等接口不可用。
如果您有阿里云的云服務器 ECS,您可以使用阿里云服務器進行請求轉發,解決可信 IP 的問題:
修改 AppFlow 中配置的企業微信的連接憑證,
修改內容:勾選內網代理,選擇對應地域和實例, 點擊保存。
將代理機器的 IP 添加到企業微信可信 IP。訪問企業微信應用列表,進入應用詳情頁面,在頁面下方開發者接口找到企業可信IP卡片,點擊配置。
如果您有自己的非阿里云的機器,您可以將自有機器托管到阿里云,并使用托管機器進行請求轉發,解決可信 IP 的問題:
在您的非阿里云服務器中找一臺可以訪問公網的機器,按照文檔安裝云助手 。
修改 AppFlow 中配置的企業微信的連接憑證,
修改內容:勾選內網代理,選擇對應托管地域和托管實例, 點擊保存。
4. 將代理機器的 IP 添加到企業微信可信 IP。訪問企業微信應用列表,進入應用詳情頁面,在頁面下方開發者接口找到企業可信IP卡片,點擊配置。