在阿里云上,您可以通过人工智能平台PAI快速部署一个大模型RAG对话系统。通过AppFlow的集成,您可以将该对话系统集成到钉钉群聊或微信等各种场景中,让您随时随地使用您的专属机器人。本文将以钉钉群聊场景为例,为您介绍PAI RAG+AppFlow的部署方案。
方案概览
以基于开源项目EasyRec的知识库文档搭建钉钉答疑机器人为例,介绍PAI RAG+AppFlow的部署方案。方案只需以下几步:
|
1. 部署PAI RAG应用
首先您需要部署一个大模型RAG对话应用,用于实现AI助手。具体操作步骤如下:
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
在模型在线服务(EAS)页面,单击部署服务,然后在场景化模型部署区域,单击大模型RAG对话系统部署。

在部署大模型RAG对话系统页面,配置以下关键参数。
基本信息
参数
描述
服务名称
自定义服务名称,例如pai_rag_test1。
版本选择
本方案选择LLM一体化部署。
模型类别
本方案选择Qwen1.5-1.8b。
资源信息
部署资源:选择模型类别后,系统会自动推荐适合的资源规格,无需您进行配置。如果更换至其他资源规格,可能会导致模型服务启动失败。
向量检索库设置
RAG支持通过Faiss(Facebook AI Similarity Search)、阿里云Elasticsearch、Milvus、Hologres、OpenSearch-向量检索版或RDS PostgreSQL构建向量检索库。本方案以FAISS为例,参数配置说明如下。您也可以选择使用其他向量检索库,如何准备向量检索库以及相关配置项,请参见向量检索库设置。
参数
描述
版本类型
选择FAISS。
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)页面,单击目标RAG服务,然后在页面右上角单击查看Web应用,按照操作指引进入WebUI页面。
在知识库页签的文件管理Tab页上传知识库文件(例如source.zip)。上传知识库文件的具体操作方法,请参见上传知识库文件。
您可以在钉钉群中发送与EasyRec相关的问题,来检验机器人回答效果。
