构建基于 Elasticsearch 的企业级 AI 搜索应用

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 本文介绍了基于Elasticsearch构建企业级AI搜索应用的方案,重点讲解了RAG(检索增强生成)架构的实现。通过阿里云上的Elasticsearch AI搜索平台,简化了知识库文档抽取、文本切片等复杂流程,并结合稠密和稀疏向量的混合搜索技术,提升了召回和排序的准确性。此外,还探讨了Elastic的向量数据库优化措施及推理API的应用,展示了如何在云端高效实现精准的搜索与推理服务。未来将拓展至多模态数据和知识图谱,进一步提升RAG效果。

构建基于 Elasticsearch 的企业级 AI 搜索应用  

 

摘要:本文整理自Elastic首席解决方案架构师朱杰老师在云端问道12期方案教学关于构建基于 Elasticsearch AI 搜索实现RAG应用的分享。


image.png

本次主题是基于阿里云上的 Elasticsearch AI 搜索,实现 RAG 的整套的方案。

先作为理论部分,首先介绍整个 RAG 的整体的流程,RAG整体流程并不简单,主要准确度是有高度关系的。

一、流程阶段划分:

1.第一阶段

绿色的流程是属于离线的流程,就是企业知识库,为达到比较好的效果,需要对知识库的文档进行加工,它并不是非常简单的把文字抽取出写到 Elasticsearch。首先要保证能够从各种各样的文档中能够抽取出还要有很好的策略对它进行长段的文本进行切分之后构建索引,索引也会是向量和普通的文本的搜索,或者是稀疏的索引联合构建的索引,写到 Elasticsearch 里边

2.第二阶段

中间流程属于查询之前的流程,如果只输入关键词查询,很可能搜索质量并不好,特别是搜索比较简短,并没有很明确的告知意图需要利用很多大语言模型的能力对原始的问题进行意图的识别,会对问题进行各种各样的分类,基于分类进行原始问题的扩充改写能够让所问的问题会更加的明确进行问题的向量化,可能会把原始的问题和向量化以后的整个内容都交给 Elasticsearch,做多路的召回。

3.第三阶段

黄色流程就是召回和重排,最后交给大语言模型的流程,很明显的注意到现代的 RAG 架构一般都是会采用多路召回的架构并不是单纯的向量,因为单纯向量在实际做的效果当中不理想,所以往往会结合稀疏向量和的稠密向量甚至是 BM25 的多路召回,因为有现在大语言模型,包括现在很多基于 Bert 架构的模型的赋能,现在可以借助于非常好的重排的模型,对于多路召回的结果再进行语义上的重排序,能够让内容能够更加精准的符合提的问题。最后交给大语言模型这个地方对于提示词的各种优化也是比较重要的。

在整个上面三个流程之外,还可以看到两个非常重要关键的概念,一个是评测的指标,因为评测的指标就是最终的问题,回答的准确度的问题,往往需要建立量化的指标,有指标之后,才能够进行上面每一步的优化的调优能够让指标朝着越越高的准确度走。如果没有量化的评价指标,很难讲前面做的很多的优化有效果,最后交给大语言模型,问题就是往通用的大语言模型,往往在针对行业,回答都可能有些问题,往往会涉及到对于基础模型的微调,能够适应更加行业的问题,所以现在的图就是整个 RAG 的整体的流程

image.png

前面的整体流程对应的每环节都非常复杂,现在阿里云上 AI 搜索平台正是为解决之前它的整体的流程很复杂,每一步都需要非常深度的调优知识都非常复杂,可以看到刚才的离线流程,里边就会涉及到如何切片,如何数据提取等,这里边的每部分都涉及到很多的算法优化,已经相当于独立的微服务,可以直接调用引擎层面,也会适配很多的引擎,可以看到在 Query 的对应中间的流程,也已经有对应的解决方案,在最底下可以看到它不仅是传统的文档等,对于大数据的接入也做的非常的好,在云上可以做到一站式,这是现在AI搜索的一张整体的大图

image.png


二、RAG

举例讲所有做 RAG 的第一步就是对于知识库文档的抽取的动作,抽取的动作包含很多的优化的细节不光是要兼容各种各样的文档格式,文档里边会涉及大量的表格图表,图表里边还蕴含很多的知识,而且之间有逻辑关系,还有图文混排的包含各种各样的段落结构,先后顺序,还有各种各样的原数据,各样的图这张图的认识,对于数据和解析提取是非常大的工程,通过前面 AI 搜索平台的整体解决方案,可以极大的降低复杂程度,因为这里很多的问题都是公用的,把它抽出做服务,不断的迭代增强服务的可用性,能够帮助最快速的实现 RAG 的效果。

image.png

第二个比较有挑战的例子就是文本切片,文本切片不简单的文档里边往往会涉及到层级,层里边是一层嵌套一层层级对于整个 RAG 的召回结果有非常大的影响,很多的层级代表语义的关联程度,有的层级之间有非常强的语义关联关系,有的层级之间可能会比较松散,最想达到的效果是需要根据语义做非常好的切分,上面是一种机械的切分。如果对语义进行切分,需要依赖很多大模型的工作包,甚至包括对它的微调,才能非常好的理解各种各样的语义,甚至为行业的文档做特殊的训练和调优才能够做的非常好。比较好的消息是现在 AI 搜索平台已经帮做很多复杂的工作,不需要再关注于重复实现这一套,简单的调用可以帮做到比较好的效果。如果自己的企业有各方面特殊的需求,也可以进行各自的微调,因为它都是微服务形式,可以对它进行调整

image.png


三、混合搜索

下面介绍 RAG 场景下非常重要的概念混合搜索,之所以需要混合搜索,主要原因是召回的准确率在前面准备上下文窗口的准确率,现在自然语言处理。

基本上看到除原文本搜索外,有两个主流的方向,一个是稠密向量的模型,平常提到的很多的模型是稠密向量,它把原始的一句话编码成 1000 多维度的向量。不管是一句话还是一段文本,还是一整篇的文章,它都会编码成 1000 多维度的向量,所以把它叫做稠密向量

还有另外技术路径,特别是在自然语言,它稀疏向量稀疏向量大体上可以想象成关键词的编号,它会切分成很多关键词。大文档可能有几万个关键词,它通过稀疏向量的模型,可以针对其中关键词,给出权重的估计。它就可以比传统的基于的 BM25 算法,它可以做到更好的召回效果。看到现在基本上在向量搜索领域都会采用混合算法,一路或者 n 路进行密集的召回,另外一路基于稀疏向量进行召回,通过算法后续进行排序,最后得出结果。向量模型的质量就很关键。同样在 AI 搜索平台提供文本向量化的服务,它帮助大家能够提高效果,减少开发的负担。

image.png

四、Elastic 的向量数据库

下面讲的核心的部分是 Elastic 的向量数据库,Elastic 在做经典的搜索已经非常的强大,不管做结构化的搜索,还是做非结构化的文本匹配,甚至是地理位置的搜索,做完搜索之后还可以做分析和统计,已经做的非常强大。

在进入到 8.X 之后,Elastic 社区已经真正成为原生的向量数据库,从零开始写基于 HNW 的索引,还有整套的搜索的算法,它是原生的向量数据库,除提供基本的向量搜索以外,很大的特色是要继承原 ES 非常强大的搜索和统计的能力,做到混合搜索和计算的能力,能够提供非常强大的混合搜索,这是 Elastic 社区向量数据库的最大的特色。除此以外,不仅帮助存储和搜索,还会有全栈的链路帮助比如创建 Embedding,帮助做推理,可以用上传模型,也可以对接在线的服务,特别是阿里云上的服务

image.png

ES 要达到目标,肯定离不开对于向量搜索的各种各样的优化措施。简单介绍 ES 向量数据库做很多的优化,从向量数据开始,ES 会采用大量的硬件加速完成,因为向量它是计算密集型,不仅会用 Java的 PNAMA 项目,确定性的调用 CPU 的指令做比较昂贵的向量计算,甚至在场景,手动写 C 的代码,在 Java 里调 c 的代码,完成最为昂贵的计算的部分,充分利用硬件的能力。

第二会增加单个查询的并发程度,以往 ES 的搜索模型是不一样的,原 ES 更加关注多少个并发,但现在要增加单个查询的并发,主要因为计算的昂贵程度,并且因为现在的计算的体系架构里边多核心是越越多,比如 Arm 的系统体系架构的核心可能上百个核心,可以让大家堆自己的硬件,做到更高的查询,与之配套的是在多个并发查询之间也会做非常智能的协同,能够提前终止没必要的并发的查询,尽快的返回客户结果,最后也是向量数据库的标配,ES 同样也支持向量的量化,因为现在应用到生产情况下,必须要平衡精度和速度和成本,向量的量化基本上经常被讨论,现在会支持把 Float 压缩到 Int8 和 Int4,而且可以自动化的完成

image.png

ES 要做最好的混合搜索,现在支持哪些混合,比如 BM25,传统的稠密向量和稀疏向量,三路都可以进行混合,提供非常强大

image.png

采用比较流行的 RRF 的算法。简单介绍 RRF,因为 RRF 算法用的比较多,它的效果不错,不需要特别的调优,可以看到任意多路的结果,都可以进行归并。它的逻辑比较简单,主要是按照它的排名,比如 BM25,它会有一、二、三、四排名,在另外一路的召回里边也会有排名,多路合并就是把它的排名取个倒数,把整体加起就能得到个最后的分数。算法比较简单,但比较高效,也不需要为特定的场景做优化,又能取得比较好的结果,这就是采用的原因。

image.png

五、推理 API

下面介绍的推理的 API,因为最近阿里的 AI 搜索团队已经把推理平台 API 实现。提交到Elasticsearch 社区的代码里边。推理的 API 就是解耦层,能够解耦 ES 通常查询的链路还有推理的链路,在后续做 RAG 场景下面推理可能会有很多个选择,比如把推理部署到 ES 内部,或者在阿里云上有自己的推理的模型部署,或者直接调用阿里云自己的在线的推理服务,有很多的选择,有这一层通用的结构层,可以做到非常干净和整洁的逻辑的架构,可以插拔的适配到不同的需要适配的 AI 推理的模型上面,它对于 ES 在整个 RAG 场景下是至关重要的一点。现在阿里云上的 ES 已经可以完美和 AI 搜索的很多的比如 Embedding 模型Rerank 模型,还有大语言的主权等已经可以非常完美的进行工作

image.png

最后讲方向性的东西,AI 搜索很重要,开源生态的结合,不仅和ES 结合,还会其他的相量引擎结合,同样前端的编排的框架也会进行整合,在模型方面也会适配比较著名的开源大模型,在大数据底座接入方面,也会阿里云上的数仓数据湖做到对接,在多模态也会不仅仅局限于文本,也会涉及到图片语音,视觉的其他的方面。同样,在整个最后的召回里,甚至会采用 Agent,能够更好的理解用户的搜索习惯和用途,能够更加接近搜索和推理,它会比单纯的 RAG 更好,甚至会紧抓最新的前沿, Graph RAG,借助于知识图谱的能力进一步的提升整个 RAG 的效果

 

 

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
打赏
0
1
1
0
1039
分享
相关文章
当无人机遇上Agentic AI:新的应用场景及挑战
本文简介了Agentic AI与AI Agents的不同、Agentic无人机的概念、应用场景、以及所面临的挑战
94 5
当无人机遇上Agentic AI:新的应用场景及挑战
🔔阿里云百炼智能体和工作流可以发布为组件了,AI应用变成“搭积木”
本文介绍了如何通过智能体组件化设计快速生成PPT。首先,创建一个“PPT大纲生成”智能体并发布为组件,该组件可根据用户输入生成结构清晰的大纲。接着,在新的智能体应用中调用此组件与MCP服务(如ChatPPT),实现从大纲到完整PPT的自动化生成。整个流程模块化、复用性强,显著降低AI开发门槛,提升效率。非技术人员也可轻松上手,满足多样化场景需求。
🔔阿里云百炼智能体和工作流可以发布为组件了,AI应用变成“搭积木”
代理IP:企业AI应用的隐形加速器与合规绞索
代理IP作为企业AI应用的重要基础设施,既是效率提升的加速器,也可能成为合规风险的来源。它通过技术演进重塑数据采集、模型训练与安全防护等核心环节,如智能路由、量子加密和边缘计算等创新方案显著优化性能。然而,全球法规(如GDPR)对数据流动提出严格要求,促使企业开发自动化合规审计系统应对挑战。未来,代理IP将向智能路由3.0、PaaS服务及量子网络方向发展,成为连接物理与数字世界的神经网络。企业在享受其带来的效率增益同时,需构建技术、法律与伦理三位一体的防护体系以规避风险。
56 0
企业级AI搜索解决方案:阿里云AI搜索开放平台
本文介绍了 阿里云 AI 搜索开放平台作提供丰富的 AI 搜索组件化服务,兼容主流开发框架 LangChain和 LlamaIndex,支持搜索专属大模型、百炼等大模型服务,以及 Elasticsearch、Havenask 等开源引擎。用户可灵活调用多模态数据解析、大语言模型、效果测评等数十个服务,实现智能搜索、检索增强生成(RAG)、多模态搜索等场景的搭建。
137 0
生成式AI应用于自动驾驶:前沿与机遇
近期发表的一篇综述性论文总结了生成式AI在自动驾驶领域的应用进展,并探讨了自动驾驶与机器人、无人机等其它智能系统在生成式AI技术上的交叉融合趋势
77 10
AI应用交付厂商F5打造六大解决方案,助用户应对复杂挑战
AI应用交付厂商F5打造六大解决方案,助用户应对复杂挑战
99 16
短短时间,疯狂斩获1.9k star,开源AI神器AingDesk:一键部署上百模型,本地运行还能联网搜索!
AingDesk 是一款开源的本地 AI 模型管理工具,已获 1.9k Star。它支持一键部署上百款大模型(如 DeepSeek、Llama),适配 CPU/GPU,可本地运行并联网搜索。五大核心功能包括零门槛模型部署、实时联网搜证、私人知识库搭建、跨平台共享和智能体工厂,满足学术、办公及团队协作需求。相比 Ollama 和 Cherry Studio,AingDesk 更简单易用,适合技术小白、团队管理者和隐私敏感者。项目地址:https://github.com/aingdesk/AingDesk。
242 3
网络安全厂商F5推出AI Gateway,化解大模型应用风险
网络安全厂商F5推出AI Gateway,化解大模型应用风险
50 0
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
282 40

热门文章

最新文章

AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等