如何从0部署一个大模型RAG应用

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 本文介绍了如何从零开始部署一套RAG应用,并将其集成到移动端,如钉钉群聊中。应用场景包括客服系统、智能助手、教育辅导和医疗咨询等。通过阿里云PAI和AppFlow,您可以轻松部署大模型RAG应用,并实现智能化的问答服务。具体步骤包括准备向量检索库、训练私有模型、部署RAG对话应用、创建钉钉应用及配置机器人等。

    本文将为您介绍如何零基础部署一套RAG应用,并在移动端随时调用您的RAG应用。例如在以下场景中,您可能会需要一个RAG应用:

  • 客服系统:提升客服对话的智能化与响应速度,提高客户满意度。
  • 智能助手:为用户提供精准的问答服务,增强用户体验。
  • 教育辅导:辅助在线教育平台,为学生提供即时的学习问答支持。
  • 医疗咨询:为患者提供初步的医疗咨询服务,减轻医生工作负担。

利用阿里云人工智能平台PAI和AppFlow,您将可以轻松的部署一套大模型RAG应用并且集成到多个分发渠道中。

下面以钉钉群聊场景为例为您介绍PAI + AppFlow的部署方案。

部署PAI RAG应用

准备向量检索库

RAG支持通过Faiss(Facebook AI Similarity Search)ElasticsearchMilvusHologresOpenSearchRDS PostgreSQL构建向量检索库。您需要获取相关配置参数,以便后续连接向量检索库。

可以访问 帮助文档 查看如何准备您的向量检索库

训练您的私有模型

如果您想使用自己的私有数据微调模型并搭建一个RAG助手,您可以首先通过分布式训练(DLC)训练您的模型,然后使用您的训练结果部署RAG应用。DLC训练模型可查看参考文档。将您的模型训练结果导入阿里云对象存储OSS或文件存储NAS,可以参考文档在DLC训练任务中使用云存储

部署大模型RAG对话应用

  1. 进入模型在线服务页面。
  1. 登录PAI控制台
  2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
  3. 在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。

    image.gif 编辑
  1. 模型在线服务页面,单击部署服务,在场景化模型部署区域,单击大模型RAG对话系统部署


  2. 部署大模型RAG对话系统页面,配置以下关键参数。
  • 基本信息

参数

描述

服务名称

自定义服务名称。

模型来源

支持使用开源公共模型自持微调模型

模型类别

根据您的使用场景,选择模型类型。

使用自持微调模型时,您需配置相应模型的参数量和精度。

模型配置

使用自持微调模型时,您需配置微调模型的文件路径。支持以下两种配置方法:

说明

  • 按对象存储(OSS):请选择微调模型文件所在的OSS路径。
  • 按文件存储(NAS):请选择微调模型文件所在的NAS文件系统和NAS源路径。


  • 资源配置

参数

描述

资源配置选择

  • 当使用开源公共模型时,系统会根据选定的模型类别自动推荐适合的实例规格,默认选中。
  • 当使用自持微调模型时,请选择与目标模型相匹配的实例规格,详情请参见如何切换其他的开源大模型

推理加速

目前,部署在A10或GU30系列机型上的Qwen、Llama2、ChatGLM或Baichuan2等系列模型服务,支持启用推理加速功能。支持以下两种加速类型:

  • PAI-BladeLLM自动推理加速:BladeLLM提供超高性价比的大模型推理加速能力,可帮助您一键享受高并发和低延时的技术优势。
  • 开源框架vllm推理加速

确保使用的模型文件格式与HuggingFace Transformers兼容。

向量检索库设置

根据您的场景需要,任意选择一种版本类型,作为向量检索库。具体向量检索库的设置可以参考文档中步骤二——向量检索库设置部分


  1. 单击部署。当服务状态变为运行中时,表示服务部署成功。
  2. 访问您的WebUI页面,上传您的知识库资料。
  1. RAG服务部署成功后,单击服务方式列下的查看Web应用,启动WebUI页面。
  2. Upload页签中,上传指定的业务数据文件,类型为.txt、.pdf、Excel(.xlsx或.xls)、.csv、Word(.docx或.doc)、Markdown或.html。


创建钉钉应用

接下来您需要在您的组织中创建钉钉应用,作为 AI 助手回答用户问题。

重要

创建钉钉应用需要您的钉钉账号有开发者权限。您可以联系您的组织管理员获取钉钉开放平台的开发权限,具体操作请参见成为钉钉开发者

创建应用

  1. 访问钉钉开放平台,点击创建。如果创建过应用未展示应用开发指引,点击立即开始进入钉钉应用页面。

  2. 在应用开发的左侧导航栏中,点击钉钉应用,在钉钉应用页面右上角点击创建应用

    image.gif
  3. 创建应用面板,填写应用名称应用描述,上传应用图标,完成后点击保存

查看应用 Client ID 和 Client Secret

在左侧菜单选择凭证与基础信息,复制 Client ID 和 Client Secret,用于下一步创建连接流。

image.gif

创建消息卡片

钉钉机器人通过卡片消息支持流式返回结果,您需要创建卡片模板供消息发送使用。

  1. 访问卡片平台,点击新建模板

  1. 在创建模板输入框,填入模板信息。

  1. 在模拟编辑页面,保存发布模板。然后点击返回模板列表页面。

  1. 复制模板ID,用于创建钉钉连接流使用。

image.gif

授予应用发送卡片消息权限

创建卡片后,您需要给应用授予发送卡片消息的权限。

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
  2. 在左侧菜单选择开发配置 > 权限管理,在左侧搜索框分别输入Card.Streaming.WriteCard.Instance.Write,并在操作列点击申请权限

创建AppFlow连接流

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将PAI RAG应用和钉钉连接起来。您可以通过预置的 AppFlow 模板创建一个钉钉机器人连接流。

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。
  2. 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入您在PAI应用详情中获取的Token,并设置一个自定义凭证名称。

image.gif

  1. 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入之前获取的钉钉应用的 Client ID 和 Client Secret,并设置一个自定义凭证名称。
  2. 执行动作配置向导页,下拉选择您的EAS实例所在地域和您的workspaceId和服务名称,填写您的模版ID,完成后点击下一步

image.gif

  1. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步
  2. 界面提示流程配置成功,复制 WebhookUrl,点击发布


配置钉钉机器人

有了webhook地址后,接下来您可以在钉钉应用中配置机器人来回答用户问题了。

配置钉钉机器人

  1. 访问钉钉应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。
  2. 添加应用能力页面,找到机器人卡片,点击添加

    image.gif
  3. 在机器人配置页面,打开机器人配置开关,您可以参考下图完成配置。消息接收模式请选择HTTP模式消息接收地址为刚刚的 WebhookUrl。然后点击发布

image.gif

发布应用版本

应用创建完成后,如果需要将应用供企业内其他用户使用,需要发布一个版本。

  1. 点击应用开发,在钉钉应用页面,点击您的应用。


  2. 在目标应用开发导航栏,点击版本管理与发布,在版本管理与发布页面,点击创建新版本。进入版本详情页面,输入应用版本号版本描述信息,选择合适的应用可见范围,完成后点击保存。并在弹窗中点击直接发布

测试机器人

你可以创建群聊或在已有群聊中添加机器人,并与机器人对话,查看效果。

  1. 在钉钉群管理中添加机器人。进入钉钉群群设置页面,点击机器人卡片区域,在机器人管理页面,点击添加机器人。在添加机器人搜索文本框中输入您刚刚创建的机器人名称,并选中要添加的机器人。点击添加,完成后再点击完成添加
  2. 在钉钉群中@机器人,进行交流互动。
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
7月前
|
存储 自然语言处理 算法
【学习大模型】RAG基础
RAG(Retrieval-Augmented Generation)技术是为了解决大模型中的幻觉问题、实时交互、数据安全和知识动态性挑战。它结合了搜索和大模型的提示功能,使模型能基于检索到的信息生成更准确的回答。RAG通过向量数据库和向量检索,将文本转化为向量表示,然后进行相似度计算和检索,以提供上下文相关的信息。
699 1
|
7月前
|
机器学习/深度学习 自然语言处理 机器人
【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人
LLM会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。
|
7月前
|
存储 人工智能 机器人
使用CLIP和LLM构建多模态RAG系统
在本文中我们将探讨使用开源大型语言多模态模型(Large Language Multi-Modal)构建检索增强生成(RAG)系统。本文的重点是在不依赖LangChain或LLlama index的情况下实现这一目标,这样可以避免更多的框架依赖。
464 0
|
4月前
|
存储 SQL 自然语言处理
LLM RAG系列
LLM RAG系列
108 1
|
5天前
|
存储 自然语言处理 算法
【大模型入门系列1】大模型RAG基础
本文介绍了RAG(检索增强生成)技术,包括其背景、向量介绍、RAG常见架构及示例代码。RAG结合了搜索和大语言模型的功能,通过从特定数据源检索信息,解决大模型的幻觉问题、实时交互问题、数据安全及知识动态性问题。文章还详细讲解了文本向量化、向量相似度计算、向量检索等概念,以及RAG应用中的索引、检索和生成步骤。最后,通过一个简单的RAG应用示例,演示了从数据加载、分割、存储到检索和生成的完整流程。
34 3
|
5月前
|
JSON 文字识别 算法
使用InternVL、LMDeploy和GTE搭建多模态RAG系统
如何将视觉大模型(VLM)与 多模态RAG 结合起来,创建服装搜索和搭配推荐!本文展示了InternVL模型在分析服装图像和提取颜色、款式和类型等关键特征方面的强大功能。
|
7月前
|
自然语言处理 物联网 API
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
|
2月前
|
存储 机器学习/深度学习 人工智能
文档智能与RAG技术在LLM中的应用评测
本文介绍了阿里云在大型语言模型(LLM)中应用文档智能与检索增强生成(RAG)技术的解决方案,通过文档预处理、知识库构建、高效检索和生成模块,显著提升了LLM的知识获取和推理能力,尤其在法律、医疗等专业领域表现突出。
103 1
|
7月前
|
弹性计算 自然语言处理 开发工具
通过阿里云 Milvus 和 LangChain 快速构建 LLM 问答系统
本文介绍如何通过整合阿里云Milvus、阿里云DashScope Embedding模型与阿里云PAI(EAS)模型服务,构建一个由LLM(大型语言模型)驱动的问题解答应用,并着重演示了如何搭建基于这些技术的RAG对话系统。
通过阿里云 Milvus 和 LangChain 快速构建 LLM 问答系统
|
3月前
|
人工智能 算法 NoSQL
GraphRAG 与 RAG 的比较分析
Graph RAG 技术通过引入图结构化的知识表示和处理方法,显著增强了传统 RAG 系统的能力。它不仅提高了信息检索的准确性和完整性,还为复杂查询和多步推理提供了更强大的支持。
350 10