阿里云魏子珺:阿里云Elasticsearch AI 搜索实践

news2024/11/24 18:59:33

作者:阿里云魏子珺

【AI搜索 TechDay】是 Elastic 和阿里云联合主办的 AI 技术 Meetup 系列,聚焦企业级 AI 搜索应用和开发者动手实践,旨在帮助开发者在大模型浪潮下升级 AI 搜索,助力业务增长。

阿里云 Elasticsearch 的 AI 搜索实践与探索

近年来,Elasticsearch(简称 ES)在 AI 领域的发展非常快。作为一名深耕 ES 领域近十年的研究者,我见证了 ES 的飞速发展,但像现在 AI 相关特性上如此快速的迭代,还是非常惊讶的,并意识到持续跟进 AI 技术的重要性,特别是在阿里云 ES 上,我们要去做些什么,能够让 ES 的用户能够更好的去使用上这些 AI 功能。

本次分享聚焦于阿里云 ES 平台上的 AI 搜索实践与探索。经过团队研究,我们已在多个方向取得实质性进展。我先简要概述 ES 在 AI 领域的核心特性,提供一个概览性的理解。

ES 在 AI 场景核心技术之一是引入了先进的语义理解能力,特别是通过 embedding 向量技术革新搜索引擎。具体而言,我们将文本转换为高维向量,这超越了传统分词和同义词匹配的局限,实现了对词语语境和含义的深度捕捉。例如,对于 “狗” 这个词,不仅能识别出直接相关的查询,还能延伸至 “哈士奇”、“泰迪” 等具体品种,极大地丰富了搜索的相关性和精准度。

实现这一突破的关键在于采用了 HNSW 算法进行近似最近邻搜索。该算法采用分层结构进行高效检索,通过逐步细化搜索空间来逼近最相似结果,有效减少了全量数据扫描的需求,提升了查询效率。然而,HNSW 要求较高的内存资源以支持其全内存操作,这对系统资源管理提出了挑战,同时也强调了参数调优的重要性,以在保证效率的同时最大化搜索的准确性和召回率。

Elasticsearch 向量引擎的性能提升与迭代更新

聚焦于 Elasticsearch 向量引擎的持续优化进程,特别是针对性能与成本的改进,显得尤为关键。初期,由于普遍存在的认知偏差 —— 认为 ES 向量引擎虽功能强大但在性能上可能存在短板,尤其是对于 Java 生态系统中的应用 —— 这一观点正逐渐被其技术演进所颠覆。实际上,自 8.0 初始版本至当前已经迈入的 8.15 版本的历程中,ES 不断迭代,特别是在性能优化方面取得了显著进展,其中包括但不限于对硬件加速技术的有效整合。

特别地,ES 利用硬件加速技术在向量检索领域,尤其是处理复杂相似度计算任务时,实现了显著的性能飞跃。这种技术创新不仅限于理论层面,实践证明,通过硬件加速器的深度融合,部分计算密集型操作的效率提升了数倍乃至更多。例如,从 2022 年 9 月至今的基准测试数据可直观看出,查询响应时间从最初 100ms 大幅缩减至现在 20ms 左右,彰显了 ES 向量检索迭代升级带来的巨大性能提升。

此外,ES 在内存优化同样值得关注,通过向量量化技术,所需内存仅为原先需求的四分之一,极大提升了资源利用率。同时,针对高并发查询场景进行的优化,确保了在处理大规模客户信息查询等任务时,系统的稳定性和响应速度得以保持,进一步验证了 ES 在向量处理应用中的高性能。

提升 Elasticsearch 性能与功能:稀疏向量与模型应用

在探讨 Elasticsearch 的应用时,特别是关注其在处理文本数据、性能优化及混合搜索策略方面的高级功能,核心要点可精炼如下:

  • 语义扩展与稀疏向量表示:Elasticsearch 利用诸如稀疏编码技术,不仅能够基于原始词汇建立索引,还能有效扩展至与其相关的概念或词汇,每项扩展均附有模型计算出的权重,增强了语义理解的深度和广度。这得益于稀疏向量技术,它以较低内存占用高效存储信息,对比稠密向量需全内存索引,显著提升了资源效率。

  • 查询效率与资源优化:查询过程受益于倒排索引结构,避免了向量相似度匹配的开销,加速了检索速度。此外,Elasticsearch 的稀疏向量减少了内存需求,进一步优化了资源利用。

  • 混合搜索策略:现代搜索需求促使 Elasticsearch 支持多模态查询,结合文本、向量检索以及 rrf 混合排序方法,以增强结果的相关性和覆盖范围。这种混合搜索策略能够召回更多样化的数据,提升用户体验。

  • 排名与相关性调整:为了从召回的大量数据中精确选出最相关的结果,ES 采用如 BM25 等排序机制,考虑文档频率和位置等因素初步确定权重。随后,通过集成学习或更精细的模型(如 rerank 阶段)对初步筛选出的文档进行二次排序,确保顶部结果高度相关。

  • 模型集成与原生支持:Elasticsearch 展现了强大的模型集成能力,允许用户直接将自定义模型加载至集群中运行,实现从输入到输出(如词嵌入生成)的端到端处理,无需外部预处理步骤。这不仅简化了工作流程,还促进了机器学习模型与搜索引擎的无缝融合,强化了系统的智能化水平和适应性。

用云服务提升模型的使用效率和灵活性

Elasticsearch 中的 Inference API 及其在阿里云环境下的应用,这是一个相对较新的功能,自 8.11 版本引入,旨在简化和优化机器学习模型在 ES 上的部署与使用流程。该 API 的核心价值在于,它允许用户无需经历繁琐的模型下载、安装及资源调配等步骤,即可直接在 ES 中利用预训练模型进行高级查询和数据分析,特别是针对诸如文本向量化这样的任务。

具体而言,Inference API 通过整合第三方模型服务,如来自 OpenAI、Hugging Face 等知名平台的模型,以及阿里云自家的AI搜索模型,为用户提供了一个统一且便捷的接口。这意味着,用户仅需通过简单的 API 调用,就能在 ES 环境中启用这些模型,无论模型是本地部署还是远程托管,极大地降低了技术门槛和运维成本。用户在操作时,体验几乎无差异,无论是创建、查询还是执行嵌入操作,所有过程均围绕模型 ID 进行,ES 内部会自动处理文本到向量的转换及后续的查询优化工作。

这一创新对于 ES 用户,尤其是那些涉及语义搜索或复杂文本分析场景的用户来说,意义重大。它不仅简化了模型集成的流程,还内置了文本预处理、特征提取等功能,用户仅需关注业务逻辑,通过提供的模型 ID,即可实现从原始文本查询到模型预测结果的无缝对接,进而进行高效的向量搜索或其他相关检索操作。最终,这促进了 ES 作为数据存储与分析平台的功能延展,使之更加适应现代 AI 驱动的应用需求,提升了用户体验和系统整体效能。

基于阿里云 A I的 Elasticsearch 引擎扩展与服务

阿里云 Elasticsearch AI 搜索方案集成了人工智能模型的搜索引擎架构,旨在优化用户的查询体验与内容处理能力,核心在于将复杂的模型服务与  Elasticsearch 引擎紧密结合,简化了从数据摄入到信息检索的全过程,具体如下:

  1. 用户查询接口:用户通过提交查询 query 启动流程,这可能是自然语言文本或其他形式的输入。
  2. AI搜索开发工作台:提供一个集成环境,允许用户不仅提交查询,还能利用预设的场景模板进行高级搜索配置,如增强的语义搜索等,提升了易用性和灵活性。
  3. 模型服务集成:创新之处在于将多种模型服务直接嵌入 ES 内部,用户无需在本地部署模型。这些模型涵盖了内容解析、文档处理等多种功能,简化了从前端到后端的模型应用流程。
  4. 数据处理自动化:用户上传文档时,系统自动解析(如 PDF、HTML 等格式),并运用预训练的文本理解模型进行内容分析,实现结构化信息提取及文本向量化,这一过程无缝集成于 ES 的索引流程中。
  5. 查询处理与混合检索:查询接收后,通过自然语言处理技术理解用户意图,即使面对模糊或上下文不全的查询也能有效识别。检索过程中,结合传统的关键词匹配与基于向量的相似性检索,实现了混合检索策略,提高了查询结果的相关性。
  6. 结果展示与交互:检索完毕,数据经由 Elasticsearch 处理后,可直接用于前端展示或进一步的业务逻辑处理。

阿里云 Elasticsearch 在 RAG 场景的应用

RAG 核心要求包括:高度精确的产出、即时答案生成、控制高昂的训练推理成本,并解决数据安全问题。尽管网页应用在流程上相对直观,但仅将引擎作为召回工具可能无法满足性能预期。因此,深入内容理解、精细排序机制、高效的文档解析及切片技术,都是提升 RAG 整体效果的关键环节。

我们已开发出一款数据解析与提取模型,能灵活应对 PDF 等多种文档格式,大幅减轻用户处理复杂文件结构(如图文混排 PDF)的负担。此模型可智能化地分割文档并优化入库数据质量。

此外,我们还设计了文本切片模型,确保在处理长文本时保持语义完整性,避免信息割裂,通过合理切分提高处理效率。

而向量化模型经过我们团队的持续调优,在相关评测中表现出色,用户可通过 API 直接调用,简化文本预处理流程。

查询分析模块则增强了对用户查询意图的理解,优化查询指令后,能更精准地在引擎中检索相关信息。

然后这是一个 rerank 的模型,经过混合检索之后,可以再去调用 rerank 模型,可以让数据的排序的效果更好。可以看到经过 rerank 模型的重排后,回答准确率可以提高 12.5%。

在AI搜索平台上,我们不仅提供了测评与模型微调工具,还集成了经微调的大模型,其在问题理解、生成内容的准确性上达到了 95% 的高水准。这一整套 RAG 体系,结合 ES 的原生功能,旨在为各类产品提供强大的搜索与分析能力,最终实现高达 95% 的效果提升,显著增强了用户的搜索体验与成果质量。

阿里云搜索开发工作台 面向企业及开发者提供先进的AI搜索开发平台,内置实践打磨的多模态数据解析、文档切分、文本向量、查询分析、大模型文本生成、效果测评等丰富的组件化服务以及开发模版,同时,可选多种引擎能力,用户可灵活调用,实现智能搜索、检索增强生成(RAG)、多模态搜索等搜索相关场景的搭建。

首次免费开通搜索开发工作台,每个账号可获赠 100 次服务免费调用额度

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2061681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx笔记(高级)

扩容 通过扩容提升整体吞吐量 单机垂直扩容:硬件资源增加 云服务资源增加 整机:IBM、浪潮、DELL、HP等CPU/主板:更新到主流网卡:10G/40G网卡磁盘:SAS(SCSI) HDD(机械)、HHD(混合&…

OpenCV几何图像变换(5)旋转和缩放计算函数getRotationMatrix2D()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算二维旋转的仿射矩阵。 该函数计算以下矩阵: [ α β ( 1 − α ) ⋅ center.x − β ⋅ center.y − β α β ⋅ center.x ( …

Linux 中断处理与内核线程化——以触摸屏中断为例

文章目录 1 什么是中断?2 传统的中断处理模型3 内核线程与用户进程4 中断线程化的理念5 devm_request_threaded_irq 与 request_irq 的比较6 触摸屏驱动中的中断线程化参考链接封面 本文探讨了 Linux 中断处理的传统模型与中断线程化的理念,以及在触摸屏…

【Python】计算直角三角形的 ∠MBC

有一个直角三角形 ABC,其中角 B 是直角(90)。点 M 是斜边 AC 的中点。我们需要根据边 AB 和 BC 的长度来计算角 ∠MBC。 在直角三角形中,如果一个角是直角,那么另外两个角的和是90。由于 M 是斜边的中点,根…

turtle画图知识

Turtle库是Python编程语言中的一个库,用于创建各种类型的图形,包括简单圆形、线条、路径和图片。它支持多种图形类型,并且可以绘制出各种复杂的形状。 以下是一些基本的使用方法: 1. 创建一个新的Turtle对象: pytho…

hyperf 协程作用和相关的方法

什么是协程 协程是一种轻量级的线程,由用户代码来调度和管理,而不是由操作系统内核来进行调度,也就是在用户态进行 判断当前是否处于协程环境内 在一些情况下我们希望判断一些当前是否运行于协程环境内, 对于一些兼容协程环境与…

RK3568平台(PWM篇)PWM驱动

一.PWM基础知识 PWM 全称为 Pulse Width Modulation,翻译成中文为脉冲宽度调制,它是一种数字信号控 制模拟电路的技术,可以通过改变高/低电平的占空比来控制平均电压或功率,从而达到对模拟 量的控制目的。 周期(T):指一个完整的…

Vue条件判断:v-if、v-else、v-else-if、v-show 指令

在程序设计中,条件判断是必不可少的技术。在视图中,经常需要通过条件判断来控制 DOM 的显示状态。Vue.js 提供了相应的指令用于实现条件判断,包括:v-if、v-else、v-else-if、v-show 指令。 1、v-if 指令 v-if 指令可以根据表达式…

机器学习 之 线性回归算法

目录 线性回归:理解与应用 什么是线性回归? 一元线性回归 正态分布的重要性 多元线性回归 实例讲解 数据准备 数据分析 构建模型 训练模型 验证模型 应用模型 代码实现 线性回归:理解与应用 线性回归是一种广泛使用的统计方法&…

企业高性能web服务器,原理及实例

一、Web 服务基础介绍 正常情况下的单次web服务访问流程: 1.1 Web 服务介绍 1993年3月2日,中国科学院高能物理研究所租用AT&T公司的国际卫星信道建立的接入美国SLAC国家实 验室的64K专线正式开通,成为我国连入Internet的第一根专线。 1…

Mycat分片-垂直拆分

目录 场景 配置 测试 全局表配置 续接上篇:MySQ分库分表与MyCat安装配置-CSDN博客 续接下篇:Mycat分片-水平拆分-CSDN博客 场景 在业务系统中, 涉及以下表结构 ,但是由于用户与订单每天都会产生大量的数据, 单台服务器的数据 存储及处理能力是有限…

0x01 GlassFish 任意文件读取漏洞复现

参考文章: 应用服务器glassfish任意文件读取漏洞 - SecPulse.COM | 安全脉搏 fofa 搜索使用该服务器的网站 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统 "glassfish"&…

VUE3-nest前后端部署教程-----4.服务器linux中部署Node.js环境

一.安装分布式版本管理系统Git (Alibaba Cloud Linux 3/2、CentOS 7.x) sudo yum install git -y 二.使用Git将NVM的源码克隆到本地的~/.nvm目录下,并检查最新版本。 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && gi…

仿Muduo库实现高并发服务器——Server.hpp框架的简单描述

EventLoop模块在本项目中的简单使用: 下面这张图 是channel模块,poller模块,TimerWheel模块,EventLoop模块,LoopThreadPool模块进行组合。便于大家对这个项目的理解,因为代码看起来挺复杂的。 下面这个图&…

2024河南萌新联赛第六场题解

这场的出题组是郑州大学acm实验室,验题组是郑州大学和郑州轻工业大学的志愿者同学们。 官方题解大部分内容是我写的,B题思路部分是对应的出题人自己写的,E题思路以及代码都是对应的出题人写的因为我不会写这个题,题目的题面&…

C++--类和对象(三)

本篇主要是填补前两篇类和对象中的小知识点 第一篇:C--类和对象(一)-CSDN博客 第二篇:C--类和对象(二)-CSDN博客 目录 1.初始化列表 2.友元(friend) 3.内部类 1.初始化列表 在之前实现构造函数的时候&a…

uniapp 总结

uniapp的 发送请求的 responseType是没有 blob这个类型的, responseType: ‘arraybuffer’, uniapp 标准js和浏览器js的区别 downloadFile的原理作用

从零开始学习SLAM(五):极几何与极约束

文章参考计算机视觉life 前备知识 概念 几何关系: 上图中: 极平面(Epipolar plane):点c0, c1, p三点确定的平面; 极点(Epipoles): c0 c1 连线与两个平面的交点 基线&a…

SAP Parallel Accounting(平行分类账业务)配置及操作手册【适用于多国家会计准则】

1. 配置准备 1.1 理解平行账概念 平行账,也称为多分类账,是SAP系统中的一项功能,它允许企业按照不同的会计准则来维护各自的财务数据。这种设置特别适用于那些需要符合多种会计准则的跨国公司。通过平行账,企业可以在不同的分类…

单片机存储芯片 W25QXX、AT24C02

一、FLASH W25QXX (1) W25QXX芯片简介 W25Q128是华邦公司推出的一款SPI接口的NOR Flash芯片,其存储空间为128Mbit,相当于16M字节。W25Q128V芯片是串行闪存,可以通过标准/两线/四线SPI控制。W25Q128一次最多可编程256个字节。页面可以按扇区擦…