从企业级 RAG 到 AI Assistant,阿里云 Elasticsearch AI 搜索技术实践
在过去一年中,基座大模型技术的快速迭代推动了 AI 搜索的演进,主要体现在以下几个方面:
1.搜索技术链路重构
基于大模型的全面重构正在重塑 AI 搜索的技术链路。从数据采集、文档解析、向量检索到查询分析、意图识别、排序模型和知识图谱等各个环节,都在经历深刻变革。新的交互方式如对话式搜索、答案总结、智能客服、企业数字员工和虚拟人逐渐成为主流,不仅提升了用户体验,也为更多应用场景提供了可能。
2.AI 搜索作为基础设施
AI 搜索已成为各类 AI 应用的基础技术之一。作为热门的 AI 原生应用,它不仅驱动了知识类 AI 应用的发展,还逐步成为各大基础模型的内置能力。例如,向量检索、检索增强生成(RAG)和语义搜索等技术已在多个领域广泛应用。这种集成化趋势增强了 AI 搜索在不同场景下的适应性和灵活性。
3.效果提升面临的瓶颈
尽管 AI 搜索在效果上取得了显著进步,但幻觉问题仍是制约其广泛应用的主要因素,尤其在对知识准确性要求极高的业务场景中更为突出。此外,高成本和隐私安全可控性低也是实施过程中面临的重要挑战。
这是为何,阿里云 Elasticsearch 推出了 AI 搜索方案,使用 RAG 技术对检索增强生成的各个环节进行能力增强,并深度融合了企业版 AI Assistant,将 RAG 技术应用于 AIOps 领域。
Elasticsearch 向量性能5倍提升
Elasticsearch 向量引擎持续优化,特别是针对性能与成本的改进尤为突出。初期,由于普遍存在的认知偏差——认为 ES 向量引擎虽功能强大但在性能上可能存在短板,尤其是对于 Java 生态系统中的应用——这一观点正逐渐被其技术演进所颠覆。自8.0初始版本至已经迈入8.15版本的历程中,Elasticsearch 不断迭代,特别是在性能优化方面取得了显著进展,其中包括但不限于对硬件加速技术的有效整合。
Elasticsearch 版本迭代路线
Elasticsearch 利用硬件加速技术在向量检索领域,尤其是处理复杂相似度计算任务时,实现了显著的性能飞跃。这种技术创新不仅限于理论层面,实践证明,通过硬件加速器的深度融合,部分计算密集型操作的效率提升了数倍乃至更多。例如,从2022年9月至今的基准测试数据可直观看出,查询响应时间从最初100ms大幅缩减至现在20ms左右,彰显了 Elasticsearch 向量检索迭代升级带来的巨大性能提升。
此外,Elasticsearch 在内存优化上同样值得关注,通过向量量化技术,所需内存仅为原先需求的四分之一,极大提升了资源利用率。同时,针对高并发查询场景进行的优化,确保了在处理大规模客户信息查询等任务时,系统的稳定性和响应速度得以保持,进一步验证了ES在向量处理应用中的高性能。
Elasticsearch 企业版 AI 能力解读
1.语义扩展与稀疏向量表示:
Elasticsearch 利用诸如稀疏编码技术,不仅能够基于原始词汇建立索引,还能有效扩展至与其相关的概念或词汇,每项扩展均附有模型计算出的权重,增强了语义理解的深度和广度。这得益于稀疏向量技术,它以较低内存占用高效存储信息,对比稠密向量需全内存索引,显著提升了资源效率。
2.查询效率与资源优化:
查询过程受益于倒排索引结构,避免了向量相似度匹配的开销,加速了检索速度。此外,Elasticsearch 的稀疏向量减少了内存需求,进一步优化了资源利用。
3.混合搜索策略:
现代搜索需求促使 Elasticsearch 支持多模态查询,结合文本、向量检索以及rrf混合排序方法,以增强结果的相关性和覆盖范围。这种混合搜索策略能够召回更多样化的数据,提升用户体验。
4.排名与相关性调整:
为了从召回的大量数据中精确选出最相关的结果,ES 采用如BM25等排序机制,考虑文档频率和位置等因素初步确定权重。随后,通过集成学习或更精细的模型(如Rerank阶段)对初步筛选出的文档进行二次排序,确保顶部结果高度相关。
5.模型集成与原生支持:
Elasticsearch 展现了强大的模型集成能力,允许用户直接将自定义模型加载至集群中运行,实现从输入到输出(如词嵌入生成)的端到端处理,无需外部预处理步骤。这不仅简化了工作流程,还促进了机器学习模型与搜索引擎的无缝融合,强化了系统的智能化水平和适应性。
阿里云 Elasticsearch 将准确率提升至95%
阿里云 Elasticsearch AI 搜索产品的基础是 Elasticsearch 和阿里云 AI 搜索开放平台,整合多样化模型与混合检索技术,实现了从传统搜索到 AI 语义搜索的跨越。该方案通过精细的数据预处理、智能向量化、多维度检索召回、以及大模型辅助生成,形成了一个完整且高效的 RAG 场景应用框架。
-
文档解析与切分:利用自研模型识别非结构化数据,提取关键信息,保证内容的完整性和语义连贯性。
-
高效向量化:采用参数量优化的向量模型,在保证效果的同时降低成本,实现向量化过程的高效执行。
-
RRF混合检索策略:结合文本、稀疏及稠密向量索引,实现多路召回,大幅提升检索精度与效率。
-
意图理解与重排优化:通过查询分析模型理解用户意图,配合重排模型对结果进行精排序,确保内容的相关性。
-
综合测评与灵活配置:AI搜索开放平台提供一站式服务,包含多款模型组件,兼容开源生态,助力企业快速搭建定制化搜索系统。
通过阿里云 Elasticsearch AI 搜索的全面应用,客户在知识库问答场景中见证了显著成效,准确率从最初的48%提升至最终超过95%。此外,三路混合检索与重排模型的结合,进一步提升了检索的精确度,保障了搜索体验的卓越性。
AI Assistant 集成通义千问大模型实现 AI Ops
Elasticsearch 企业版的 AI Assistant 融合了 RAG 技术和阿里云大模型服务,为企业提供了 AI Ops 助手。这一创新工具在通用搜索、可观测性分析及安全保障等多个领域展现出了卓越的应用潜力,不仅能够助力开发者在异常监控、警报处理、问题识别与诊断、数据分析建模以及查询性能优化等方面取得显著进展,还通过更加直观易用的交互界面极大提升了工作效率。
特别是在可观测性方面,AI Assistant 借助于自动化的函数调用机制,该助手能够高效地请求、分析并可视化您的数据,将其转化为具有实际操作价值的信息。此外,基于 Elastic Learned Sparse EncodeR (ELSER) 支持的知识库进一步丰富了来自私有数据集中的上下文信息和建议;而 RAG 技术与通义大模型相结合,则确保了更精准的数据理解和表达能力。
通过阿里云 AI 搜索开放平台上集成通义千问大模型后,Elasticsearch 的 AI Assistant 特别注重激活函数模拟调用,以保证不同系统间的无缝兼容。这使得用户可以根据具体需求灵活切换多种连接器,从而实现高效的信息检索与处理流程。尤其在微服务运维场景下,AI Assistant 发挥着至关重要的作用——它不仅能实时监测异常状况与潜在故障点,还能对详细的错误日志进行深入剖析,并结合现有运维手册快速定位问题根源。与此同时,AI Assistant 还能有效整合各类告警信息,对安全攻击链条进行全面分析,进而提出切实可行的防御策略,显著提高了问题解决的速度与质量。
通过调用 API 接口并自动生成 ESQL 查询语句,AI Assistant 能够执行复杂的数据分析任务并生成直观易懂的统计图表,即使是对 Elasticsearch 查询语法不甚了解的用户也能轻松上手。无论是探究字段间的关系,还是解读数据趋势等数据洞察,AI Assistant 都能以极高的效率和便捷的操作方式满足用户的多样化需求。
-
免费试用:Elasticsearch_全托管云搜索_兼容开源ELK_智能化运维_AI搜索_大数据-阿里云
-
更多咨询:精准分析检索, 打造商品推荐体验-阿里云技术解决方案
相关文章:

从企业级 RAG 到 AI Assistant,阿里云 Elasticsearch AI 搜索技术实践
在过去一年中,基座大模型技术的快速迭代推动了 AI 搜索的演进,主要体现在以下几个方面: 1.搜索技术链路重构 基于大模型的全面重构正在重塑 AI 搜索的技术链路。从数据采集、文档解析、向量检索到查询分析、意图识别、排序模型和知识图谱等…...

Redis--高可用(主从复制、哨兵模式、分片集群)
高可用(主从复制、哨兵模式、分片集群) 高可用性Redis如何实现高可用架构?主从复制原理1. 全量同步2. 命令传播3. 增量同步 Redis Sentinel(哨兵模式)为什么要有哨兵模式?哨兵机制是如何工作的?…...

框架(Mybatis配置日志)
mybatis配置日志输出 先导入日志依赖 <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency> 编写log4j.properties配置文件 # Root logger option log4j.rootLogge…...

人工智能-Python上下文管理器-with
概念 Python提供了 with 语句的这种写法,既简单又安全,并且 with 语句执行完成以后自动调用关闭文件操作,即使出现异常也会自动调用关闭文件操作;其效果等价于try-except-finally with 拥有以下两个魔术方法 __enter__() 上文管理…...

每天40分玩转Django:Django类视图
Django类视图 一、知识要点概览表 类别知识点掌握程度要求基础视图View、TemplateView、RedirectView深入理解通用显示视图ListView、DetailView熟练应用通用编辑视图CreateView、UpdateView、DeleteView熟练应用Mixin机制ContextMixin、LoginRequiredMixin理解原理视图配置U…...

自动化测试之Pytest框架(万字详解)
Pytest测试框架 一、前言二、安装2.1 命令行安装2.2 验证安装 三、pytest设计测试用例注意点3.1 命名规范3.2 断言清晰3.3 fixture3.4 参数化设置3.5 测试隔离3.6 异常处理3.7 跳过或者预期失败3.8 mocking3.9 标记测试 四、以案例初入pytest4.1 第一个pytest测试4.2 多个测试分…...

基于51单片机(STC32G12K128)和8X8彩色点阵屏(WS2812B驱动)的小游戏《贪吃蛇》
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、定时器02、矩阵按键模块3、8X8彩色点阵屏 四、主函数总结 系列文章目录 前言 《贪吃蛇》,一款经典的、怀旧的小游戏,单片机入门必写程序。 以《贪吃蛇》为载体,熟悉各种屏幕…...

2011-2020年各省粗离婚率数据
2011-2020年各省粗离婚率数据 1、时间:2011-2020年 2、来源:国家统计局 3、指标:地区、年份、粗离婚率 4、范围:31省 5、指标解释:粗离婚率指某地区当年离婚对数占该地区年平均人口的比重。计算公式为:…...

C++高级编程技巧:模板元编程与性能优化实践
C高级编程技巧:模板元编程与性能优化实践 在C编程的世界里,模板元编程(Template Metaprogramming)是一项强大的技术,它允许程序员在编译时而非运行时进行计算和类型操作。这项技术的核心在于C模板系统,它…...

Mac 版本向日葵退出登录账号
找遍整个软件,Mac 版本的向日葵甚至逆天到没有提供退出登录的功能… 随后我发现可以直接删除向日葵的配置文件达到退出登录的效果,具体操作如下: cd /etc # 确认存在 orayconfig.conf 文件 ls orayconfig.conf # 删除 sudo rm -f oray…...

SOLIDWORKS Composer在产品设计、制造与销售中的应用
SOLIDWORKS Composer是一款专为技术团队设计的高效沟通工具,广泛应用于产品设计、制造、销售及售后等领域。它能从复杂的CAD数据中提取关键信息,轻松转化为高质量的产品文档、交互式3D动画及说明视频,显著提升产品沟通效率。 Composer擅长制…...

Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)
参考文章 Windows11安装linux子系统 WSL子系统迁移、备份与导入全攻略 如何扩展 WSL 2 虚拟硬盘的大小 Win10安装的WSL子系统占用磁盘空间过大如何释放 《Ubuntu — 调整文件系统大小命令resize2fs》 penHarmony南向开发笔记(一)开发环境搭建 一&a…...

[CSAW/网络安全] Git泄露+命令执行 攻防世界 mfw 解题详析
Home界面: Home界面翻译如下: 欢迎访问我的网站! 我自己从头开始写的! 您可以使用上面的链接浏览页面! About界面: 观察到Git,联想Git泄露 Git泄露 Git是一个非常流行的开源分布式版本控制系…...

MySQL 锁那些事
Q1 : MySQL有哪些锁,功能是什么,如何项目中使用?Q2 : 行锁是如何实现的?什么情况下会使用行锁?Q3 : 四种事务隔离形式的行锁有什么不一样?读未提交读提交可重复读串行 Q4 : MySQL 的读写都是怎样加锁的?Q5 : 需要注意什么? Q1 : MySQL有哪些锁,功能是什么,如何项目中使用…...

Linux中常用的基本指令和一些配套的周边知识详解
目录 一些基本指令 一些常用指令 注:配套的周边知识是直接跟在指令的讲解后面的。 补充:(重要) 如何看待这么多指令???记不住怎么办??? 首先,指令不用刻意去记…...

深入理解Java中的Set集合:特性、用法与常见操作指南
一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 ①:add(Object o):向Set集合中添加元素,不允许添加重复数据。 ②:size():返回Set集合中的元素个数 ③.remove(Object o): 删除Set集合中的obj对…...

Oracle 使用 sql profile 固定执行计划
测试使用 sql profile 固定执行计划: Oracle 10g之前有outlines,10g之后 sql profile 。如果针对非绑定变量的sql,outlines则效果不佳,不建议使用 。 1、准备测试用表 SQL> create table zzh_ob as select * from dba_objects; SQL> create inde…...

数字电路期末复习
*前言:*写的东西不太全面,更多的是一个复习大纲,让你发现自己有哪些不懂的问题(不懂的地方就去翻书或者问AI),如果能够解决提出的所有问题,那么过期末考一定不是问题。 这里写目录标题 数制和码…...

正则表达式 - 使用总结
正则表达式 - 使用总结 正则表达式(Regular Expression,简称Regex)是一种强大的文本处理工具,它允许我们通过特定的模式(pattern)来搜索、匹配和操作字符串。在编程、数据分析和文本处理等领域,正则表达式发挥着非常重要的作用。本文将总结正则表达式的基本概念、使用方…...

通过Xshell远程连接wsl2
目录 一、WSL网络原理 二、 下载XShell 三、Ubuntu里配置ssh 1.查看是否已经安装SSH 2.安装SSH 3.修改SSH配置 4.重启ssh 5.查看ip 四、在Xshell中链接电脑 五、设置端口转发 1.设置主机端口映射到wsl2的端口 六、防火墙设置开放8989端口 方式一(推荐): 方式二:…...

【ubuntu】安装OpenSSH服务器
参考:https://blog.csdn.net/fanjufei123456/article/details/139264814 要在Ubuntu上使用SSH连接,需要确保系统上安装并运行了SSH服务器。SSH服务器负责接受来自其他计算机的SSH连接请求,并提供对目标系统的访问权限。 在Ubuntu上,默认情况…...

CESS 的 2024:赋能 AI,塑造去中心化数据基础
2024 年是加密与区块链行业的重要转折之年,行业在技术创新、监管明确和实际应用上取得了显著进展。全球范围内,多个国家相继推出加密货币和区块链技术的监管框架,美国的区块链政策峰会推动了关键议题的讨论,欧洲完成了 MiCA 监管的…...

Redission红锁
目录 一、什么是红锁 二、Redission红锁的使用 一、什么是红锁 Redis 的作者 Salvatore Sanfilippo(又名 antirez)提出的一种基于多个 Redis 实例实现分布式锁的算法。红锁(Redlock)旨在解决单点故障问题,即当使用单…...

使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色
定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…...

Spring Boot AOP日志打印实现
在 Spring Boot 3.1.12 中使用 AOP 实现日志打印,记录前端传入的参数和后端返回的数据,可以按照以下步骤进行: 添加依赖 首先,确保你的 pom.xml 文件中包含了 Spring AOP 的依赖: <dependency><groupId>…...

Windows远程--如何使用IP访问服务器
1.第一步:在本地按下winR打开运行窗口,输入mstsc 打开window自带的远程桌面组件,在打开的窗口内输入公网ip。 2.第二步:输入远程电脑的登录用户名和密码,即可成功建立连接。...

vscode中设置默认格式化工具pretter
1. 安装 Prettier 插件 打开 VSCode 的扩展市场(快捷键 CtrlShiftX 或点击左侧的扩展图标)。 搜索并安装 Prettier - Code formatter 插件。 2. 设置 VSCode 使用 Prettier 格式化代码 打开 VSCode 的设置(快捷键 Ctrl, 或点击右下角齿轮图标…...

Hadoop、Flink、Spark和Kafka
Hadoop、Flink、Spark和Kafka是大数据处理领域中的四个重要工具,它们在架构、数据处理方式以及性能等方面都存在区别。以下是具体分析: 架构 Hadoop:Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce编…...

APP自动化测试元素定位及隐式等待
元素定位是UI自动化测试中最关键的一步,假如在自动化测试中没有定位到页面中素,也就无法完成对页面的测试操作。那么,我们在自动化测试中如何定位到是要部面元素呢? 下面聊一聊用 Appium 定位元素的方式。 定位页面元素有很多种…...

Element plus 的 upload 组件实现自定义上传
Element Plus 是一个基于 Vue 3 的 UI 组件库,提供了许多常用的 UI 组件。其中,Upload 组件用于文件上传功能。如果你想实现自定义上传逻辑,可以通过 before-upload 和 http-request 属性来实现。 以下是一个简单的示例,展示如何…...