本文将为您介绍如何零基础部署一套RAG应用,并在移动端随时调用您的RAG应用。例如在以下场景中,您可能会需要一个RAG应用:
- 客服系统:提升客服对话的智能化与响应速度,提高客户满意度。
- 智能助手:为用户提供精准的问答服务,增强用户体验。
- 教育辅导:辅助在线教育平台,为学生提供即时的学习问答支持。
- 医疗咨询:为患者提供初步的医疗咨询服务,减轻医生工作负担。
利用阿里云人工智能平台PAI和AppFlow,您将可以轻松的部署一套大模型RAG应用并且集成到多个分发渠道中。
下面以钉钉群聊场景为例为您介绍PAI + AppFlow的部署方案。
部署PAI RAG应用
准备向量检索库
RAG支持通过Faiss(Facebook AI Similarity Search)、Elasticsearch、Milvus、Hologres、OpenSearch或RDS PostgreSQL构建向量检索库。您需要获取相关配置参数,以便后续连接向量检索库。
可以访问 帮助文档 查看如何准备您的向量检索库
训练您的私有模型
如果您想使用自己的私有数据微调模型并搭建一个RAG助手,您可以首先通过分布式训练(DLC)训练您的模型,然后使用您的训练结果部署RAG应用。DLC训练模型可查看参考文档。将您的模型训练结果导入阿里云对象存储OSS或文件存储NAS,可以参考文档在DLC训练任务中使用云存储。
部署大模型RAG对话应用
- 进入模型在线服务页面。
- 登录PAI控制台。
- 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
- 在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。
编辑
- 在模型在线服务页面,单击部署服务,在场景化模型部署区域,单击大模型RAG对话系统部署。
- 在部署大模型RAG对话系统页面,配置以下关键参数。
- 基本信息
参数 |
描述 |
服务名称 |
自定义服务名称。 |
模型来源 |
支持使用开源公共模型或自持微调模型。 |
模型类别 |
根据您的使用场景,选择模型类型。 使用自持微调模型时,您需配置相应模型的参数量和精度。 |
模型配置 |
使用自持微调模型时,您需配置微调模型的文件路径。支持以下两种配置方法: 说明
|
- 资源配置
参数 |
描述 |
资源配置选择 |
|
推理加速 |
目前,部署在A10或GU30系列机型上的Qwen、Llama2、ChatGLM或Baichuan2等系列模型服务,支持启用推理加速功能。支持以下两种加速类型:
|
确保使用的模型文件格式与HuggingFace Transformers兼容。
向量检索库设置
根据您的场景需要,任意选择一种版本类型,作为向量检索库。具体向量检索库的设置可以参考文档中步骤二——向量检索库设置部分
- 单击部署。当服务状态变为运行中时,表示服务部署成功。
- 访问您的WebUI页面,上传您的知识库资料。
- RAG服务部署成功后,单击服务方式列下的查看Web应用,启动WebUI页面。
- 在Upload页签中,上传指定的业务数据文件,类型为.txt、.pdf、Excel(.xlsx或.xls)、.csv、Word(.docx或.doc)、Markdown或.html。
创建钉钉应用
接下来您需要在您的组织中创建钉钉应用,作为 AI 助手回答用户问题。
重要
创建钉钉应用需要您的钉钉账号有开发者权限。您可以联系您的组织管理员获取钉钉开放平台的开发权限,具体操作请参见成为钉钉开发者。
创建应用
- 访问钉钉开放平台,点击创建。如果创建过应用未展示应用开发指引,点击立即开始进入钉钉应用页面。
- 在应用开发的左侧导航栏中,点击钉钉应用,在钉钉应用页面右上角点击创建应用。
- 在创建应用面板,填写应用名称和应用描述,上传应用图标,完成后点击保存。
查看应用 Client ID 和 Client Secret
在左侧菜单选择凭证与基础信息,复制 Client ID 和 Client Secret,用于下一步创建连接流。
创建消息卡片
钉钉机器人通过卡片消息支持流式返回结果,您需要创建卡片模板供消息发送使用。
- 访问卡片平台,点击新建模板。
- 在创建模板输入框,填入模板信息。
- 在模拟编辑页面,保存并发布模板。然后点击返回模板列表页面。
- 复制模板ID,用于创建钉钉连接流使用。
授予应用发送卡片消息权限
创建卡片后,您需要给应用授予发送卡片消息的权限。
- 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
- 在左侧菜单选择开发配置 > 权限管理,在左侧搜索框分别输入
Card.Streaming.Write
和Card.Instance.Write
,并在操作列点击申请权限。
创建AppFlow连接流
AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将PAI RAG应用和钉钉连接起来。您可以通过预置的 AppFlow 模板创建一个钉钉机器人连接流。
- 使用AppFlow模板创建连接流,点击立即使用进入创建流程。
- 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入您在PAI应用详情中获取的Token,并设置一个自定义凭证名称。
- 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入之前获取的钉钉应用的 Client ID 和 Client Secret,并设置一个自定义凭证名称。
- 在执行动作配置向导页,下拉选择您的EAS实例所在地域和您的workspaceId和服务名称,填写您的模版ID,完成后点击下一步。
- 在基本信息配置向导页,填写连接流名称和连接流描述(建议保持默认),完成后点击下一步。
- 界面提示流程配置成功,复制 WebhookUrl,点击发布。
配置钉钉机器人
有了webhook地址后,接下来您可以在钉钉应用中配置机器人来回答用户问题了。
配置钉钉机器人
- 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
- 在添加应用能力页面,找到机器人卡片,点击添加。
- 在机器人配置页面,打开机器人配置开关,您可以参考下图完成配置。消息接收模式请选择HTTP模式,消息接收地址为刚刚的 WebhookUrl。然后点击发布。
发布应用版本
应用创建完成后,如果需要将应用供企业内其他用户使用,需要发布一个版本。
- 点击应用开发,在钉钉应用页面,点击您的应用。
- 在目标应用开发导航栏,点击版本管理与发布,在版本管理与发布页面,点击创建新版本。进入版本详情页面,输入应用版本号和版本描述信息,选择合适的应用可见范围,完成后点击保存。并在弹窗中点击直接发布。
测试机器人
你可以创建群聊或在已有群聊中添加机器人,并与机器人对话,查看效果。
- 在钉钉群管理中添加机器人。进入钉钉群群设置页面,点击机器人卡片区域,在机器人管理页面,点击添加机器人。在添加机器人的搜索文本框中输入您刚刚创建的机器人名称,并选中要添加的机器人。点击添加,完成后再点击完成添加。
- 在钉钉群中@机器人,进行交流互动。