阿里云向量引擎快速搭建企业级RAG最佳实践

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 本文介绍了基于阿里云搭建RAG(检索增强生成)应用的技术分享。首先回顾了RAG技术背景及其面临的挑战,如大模型幻觉、知识局限和数据安全问题。接着详细讲解了阿里云提供的RAG技术架构,涵盖数据处理、模型服务和高性能检索引擎等多方面能力。最后,通过自研引擎与开源组件的结合,展示了如何快速构建RAG应用,并提供端到端的最佳实践方案,确保系统在企业级应用中的高效性和成本优化。

今天主要分享基于技术,产品快速去搭建 RAG 的应用。分享分为三个部分,第一就是背景介绍,回顾一下 RAG 技术出现了一年, RAG 到底叫什么,面临的挑战是什么?第二部分技术架构,在阿里云上如何去提供整体的 RAG 的解决方案,包括这个方案里有哪些能力辅助用户去搭建这个系统。第三部分是基于自研的引擎,包括开源组件,如何快速在阿里云上搭建整体的 RAG 的应用,服务整个的业务流程。

 

一、RAG背景&挑战

RAG 已经出来大概一年多。在这里它解决的问题是大模型本身带来的幻觉,包括知识有局限性,整个数据安全的问题,它的流程简单来说是三个部分,是构建索引,做整体的检索增强,最终用大模型生成最终的答案,以达到用大模型在企业内部包括企业to C、to B端应用的落地。


在构建 RAG 应用落地有一些问题,包括刚才所提到的效果的问题,效率的问题,成本的问题,拆解来看项目,可以分为功能性,功能性解决 RAG 如何去增强检索的效果,可以让检索的效果更加精准,通过构建开源组件或者是看到的框架去构建,经常会遇到例如检索出来的内容缺少,包括文档关键链路上的召回、未召回,文档切割导致上下文的文档缺少,这些都是在功能层面需要去解决的。


在非功能层面,是效率和成本这块的挑战,对于整体的大模型调用次数过多,导致整体调度链路推理时间太长,对话需要几秒甚至10秒的等待,用户层面是无法接受的。

 

二、RAG 技术架构

整体的解决方案的架构。解决方案是结合了阿里云大数据加 AI 的产品线去构建的逻辑的解决方案,整个RAG 系统结合了数据层面,结合了 AI 层面,结合了搜索层面的功能重建,所以它是多产品的组合。包括底层需要用到存储类的产品,存储相关检索需要用到的文档。在数据管理层面,需要经过数据处理后,生成结构化和非结构化的数据,如何去做原数据的管理,原数据数据的构建,也是需要用到我们像类似于 DIF 相关的一些能力。

在 RAG 系统里最重要最关键的一层是很多的不同的在各种各样的模型,包括了做向量化的模型,做切分的模型,做召回排序的模型,还有包括大模型的部分,提供了全维度的模型服务,除了这些还有很关键的检索的能力,阿里云上有很多不同的检索引擎,像ES等都提供相对的高性能的检索引擎来提供服务。我们如何去评测 RAG 的系统也有对应的方案去提供。


全链路的能力上来看,分为数据的接入,在线查询的部分,数据的接入部分主要就是如何去快速的把这个文档上传,如何去做这个数据的处理,把非循环数据结构化或者是拆分成工具化和结构化,如何去构建向量是稠密的向量还是稀疏的向量?


在线阶段时,提供了整个的大模型的调用解析理解分析,包括对于文档的检索,包括最终召回完的链路上如何去调用大模型,如何去构建提示工厂这些能力,最左边会提供整个的测评服务去测评整个系统如何能达到企业的应用效果

 

三、RAG 解决方案最佳实践

接下来是如何去基于阿里云的自研的引擎,包括开源的引擎去构建整个 RAG 的系统。基于 OPEM SEARCH 的自研引擎去构建RAG 的系统,在离线的链路中,通过整个的自研引擎是支持多种不同的文档类的上传和数据接入,包括当时会展示是通过拖拽式的, POC 方式拖拽几个文档,然后快速构建系统去看整体系统效果,支持 API 的方式,支持对接大数据引擎去接入整体的数据,接入了数据对内容进行抽取


自研引擎里是提供了多维度的数据抽取,包括数据理解的模型,包括类似于OCR的模型文档解析的模型,那对于文档本身的切片,提供了模型类的切片,也提供了规则类的切片,在整个的产品内部,向量化也可以用开源的、自研的接入资源的模型,也可以用本身引擎提供向量化模型。在整个的检索链路问答链路上,支持多人对话,可以去提高整体的这样链路的效果,也提供了多轮对话模式,也提供单对话模式,包括不同的的解析理解,传统的搜索链路如何去做几个检索,以结合现在大模型链路上去做检索。


在大模型本身链路上,在这个平台上提供了多个版本的模型,包括基于搜索链路优化过的模型,当然也满足客户对模型的定制化,在整体的链路上,支持用户自定义外部的大模型的调用链路,在大模型去做生成和检索。


看具体的步骤,第一步在整个的 OpenSearch的产品上做实例的开通,使用到OpenSearch的大语言模型版,开通实例后,第一步上传文档,是支持通过网页的拖拽式,比如说作 POC 场景的,直接就拖拽简单的文档上去尝试整个系统的效果,也支持大数据系统的对接网页的一些导入。数据接入后会去做数据的预处理,在这一步就会有很多模型的介入。会支持不同的模型,如何定义解析出来的数据结构,解析成结构化的数据存储到检索正财库或者倒排库,最终对整体检索,经过预处理的数据做整体的展示和检查,有源于传统数据的预处理阶段后,去调试整个 RAG 链路的工程,分了很多不同的模型,包括了大语言的模型,中间检索常用的向量模型,还有重排的模型的配置,对于预制的可以做不同的泄露的参数的调试,也提供了可视化的对话框的方式做不同版本模型的调试,包括自研的模型左上角有自定义的大模型,可以进入客户的大模型的服务,现在市面上通用的 OPI 的接口,OPI 格式和接口的模型服务,都是可以做整个的多轮调试。


调试完成后整个的 OPI 系统后,会做端到端的测评,基于不同的调试不同模型的组合,可以上传测评的文档,通过测评文档的打分,包括输出,可以得到 RAG 链路测评的评分。最终生成在线业务的 API 来接入自身得业务系统。


API 从产品维度在后台动态调度承接流量,最终服务B端或者C端的应用,整个的流程是基于自研引擎快速搭建 RAG 应用整体端到端的流程。除了自研的引擎,也支持很多开源的组件,现在已经开源了端到端的的系统,可以下载到对应的代码,通过代码部署到模型服务的引擎上,来提供端到端外的 RAG 的搭建,在这个过程中每一步里用到了所有的模型测,引擎都可以是开源组件,像引擎侧的检索 ES 自研开源的 havenask 开源的faiss ,都是可以支持的。


模型测可以支持开源的通易,类似于开的模型可以去构建相关的RAG的系统。整个的流程和自研的流程是类似的,就是从数据的上传到文档网解析,到模型构建索引,最终去检索整个的链路。


提供一开源代码一键式部署。除了说用到预制的镜像以外,如果用户自定义了开源的github上的代码,也可以通过镜像的方式一键的拉起系统,拉起系统后,可以去对接到自己任意的开源的检索引擎上,事例是检索引擎,也可以对接到阿里云的实例上,去构建自己的检索库同时在左侧界面可以去选择自己的模型,包括开模型,包括其他的设置。


在文档上传的部分,为了方便调试,提供网页端的文档上传的接口,可以让用户快速去上传相关的文档,也支持通过 API 的方式快速的把需要去测试,包括去检索的文档上传到整个的系统上,通过对接的开源引擎的检索库里,去实时的看到对应的文档。开源的引擎上,提供的可视化组件,去观察或者去查询构建的库和它对应的数据有了整个的库,后面就可以去基于自研或者是开源的大模型调试整个的 RAG 系统,为了方便在界面上提供 oppotion 可以让用户去调试,所有代码是开展到github的,对于用户来说可以在github上,在代码层面去做更精细力度的调试,去生成整个系统的对外的open API ,除了配置层面的调试,在整个开源的界面上,也对接了阿里云的云监控的系统,它可以对于整个 RAG 链路上每一步的性能,包括效果去做单步的调试。左边截图是对接云监控整个性能维度的调试,每一步花费的时间都可以在整个的监控上看,细腻度的去优化每节点性的问题。达到生产级别可用。右边截图对效果的调试每一步的调用、检索包括召回,到底生成的结果是什么?在哪一步出的错,在右边的图上面也有详细的展示,可以精细的去调整每一步的配置,得到更好的效果。


通过全链路调试后,最终可以提供对外在线的 API 的服务, 来支撑整个潮汐调用,通过整个底层计算资源的弹性,支持定时或者是基于业务的 QPS 的弹性能力,达到整个业务的成本最优的 RAG 的应用。

相关文章
|
1月前
|
人工智能 自然语言处理 安全
通过阿里云Milvus与PAI搭建高效的检索增强对话系统
阿里云向量检索Milvus版是一款全托管的云服务,兼容开源Milvus并支持无缝迁移。它提供大规模AI向量数据的相似性检索服务,具备易用性、可用性、安全性和低成本等优势,适用于多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等场景。用户可通过PAI平台部署RAG系统,创建和配置Milvus实例,并利用Attu工具进行可视化操作,快速开发和部署应用。使用前需确保Milvus实例和PAI在相同地域,并完成相关配置与开通服务。
|
4月前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
306 6
|
21天前
|
人工智能 运维 Serverless
低成本 Serverless AI 检索介绍和实验
本文介绍了低成本Serverless AI检索技术,分为四部分:1) AI检索介绍,通过电商客服案例展示AI检索的应用和优势;2) 表格存储介绍,详细解释了表格存储的结构化数据处理能力及其在AI检索中的作用;3) 实验:RAG,通过具体实验演示基于表格存储的RAG流程及效果;4) 总结,强调向量检索、易用性和丰富的接口特性。整体内容展示了如何利用Serverless架构实现高效、低成本的AI检索解决方案。
|
25天前
|
自然语言处理 监控 程序员
本地部署企业级自适应 RAG 应用的方法与实践
本文介绍了本地部署企业级自适应RAG(Adaptive Retrieval-Augmented Generation)应用的方法与实践。RAG结合信息检索与文本生成,广泛应用于问答、编程等领域。自适应RAG通过分类器评估查询复杂度,动态选择无检索、单步检索或多步检索策略,优化生成结果。其特点在于灵活性和适应性,能够根据输入情况调整检索和生成策略。核心技术包括检索策略的自适应、生成策略的自适应以及模型参数的自适应调整。通过实战,深入了解了RAG的工作原理和应用场景,并获得了宝贵经验。
278 4
|
1月前
|
人工智能 关系型数据库 分布式数据库
PolarDB-PG AI最佳实践3 :PolarDB AI多模态相似性搜索最佳实践
本文介绍了如何利用PolarDB结合多模态大模型(如CLIP)实现数据库内的多模态数据分析和查询。通过POLAR_AI插件,可以直接在数据库中调用AI模型服务,无需移动数据或额外的工具,简化了多模态数据的处理流程。具体应用场景包括图像识别与分类、图像到文本检索和基于文本的图像检索。文章详细说明了技术实现、配置建议、实战步骤及多模态检索示例,展示了如何在PolarDB中创建模型、生成embedding并进行相似性检索
|
1月前
|
人工智能 运维 监控
阿里云Milvus产品发布:AI时代云原生专业向量检索引擎
随着大模型和生成式AI的兴起,非结构化数据市场迅速增长,预计2027年占比将达到86.8%。Milvus作为开源向量检索引擎,具备极速检索、云原生弹性及社区支持等优势,成为全球最受欢迎的向量数据库之一。阿里云推出的全托管Milvus产品,优化性能3-10倍,提供企业级功能如Serverless服务、分钟级开通、高可用性和成本降低30%,助力企业在电商、广告推荐、自动驾驶等场景下加速AI应用构建,显著提升业务价值和稳定性。
|
9月前
|
人工智能 前端开发 PyTorch
AI加速引擎PAI-TorchAcc:整体介绍与性能概述
PAI-TorchAcc(Torch Accelerator)是阿里云人工智能平台PAI开发的Pytorch上的大模型训练加速框架。PAI-TorchAcc提供了一套基于Pytorch的简洁、易用的接口,无需进行模型转换就可以无缝地接入HuggingFace上的模型,并用多种分布式策略进行训练加速。本文详细介绍PAI-TorchAcc的产品能力与性能。
|
6月前
|
存储 缓存 API
【建议收藏】企业级 RAG 产品的搭建需要重点考虑哪些问题?
【建议收藏】企业级 RAG 产品的搭建需要重点考虑哪些问题?
214 0
|
7月前
|
自然语言处理 搜索推荐 关系型数据库
ErnieRAG:用ErnieBot打造企业级RAG应用
ErnieRAG:用ErnieBot打造企业级RAG应用
73 0
|
9月前
|
存储 人工智能 Cloud Native
阿里云向量检索 Milvus 版开启公测,助力企业打造高质量 AI 服务
阿里云向量检索 Milvus 版正式开启公测,诚邀广大开发者及企业用户参与公测,赋能智能检索,解锁 AI 潜能。
阿里云向量检索 Milvus 版开启公测,助力企业打造高质量 AI 服务