阿里云搜索专家实操:如何高效构建企业级 AI 搜索?

news2024/9/27 12:10:37

作者:来自阿里云搜索产品专家牛俊

本文由阿里云搜索产品专家牛俊在【AI 搜索 TechDay】上的分享【阿里云 AI 搜索 Demo 展示和动手实践】整理而成。

阿里云 AI 搜索的产品能力与业务价值

阿里云 AI 搜索的方案,基于阿里云 Elasticsearch Inference API,可以结合阿里云自研的 AI 模型服务,灵活的搭建语义搜索或者是 RAG 链路。AI 搜索可以基于 ES 语法进行灵活的编排,易用性更高,后面的实操环节大家可以具体体验下。

直接使用大模型去进行语义搜索,不仅有成本的问题,还会有准确性的问题。阿里云 AI 搜索 RAG 全链路,不论是对文本的解析处理,还是切分、向量化,以及混合检索,其实都是为了提升搜索的准确率。通过提升搜索的准确率,拿到最精准的结果,然后再组成 prompt 给到大模型,来提升准确性。这里我们如果仅使用大模型加向量检索,仅仅能达到 40% 的准确率,通过全链路的优化能够提升到 90% 乃至 95%,这就是检索增强优化带来的价值。

在下面的图示中,是搭建 RAG 全链路的流程,主要分为 2 个链路:

第一步,是数据写入流程。我们可以对多样化的数据进行解析理解,抽取出文档的结构,然后采用文档切分模型对内容进行语义的切分,生成语义切片树,然后基于自研的向量化模型,将切分后的文档片段生成稠密向量以及稀疏向量。然后在 ES 引擎中构建对应的索引。

第二步,就是在线查询的流程。用户输入问题后,首先使用查询分析模型来理解用户的意图,同时对输入的内容进行语义的扩充、做省略补充等操作。然后调用同样的向量化模型生成稠密和稀疏向量。在 ES 引擎中进行 3 路混合检索,以及 RRF 融合排序,最后召回最相关的 TOP N 内容片段。此时,可以引入重排模型,做进一步的排序来提升 TOP 结果的相关性。结合用户的问题以及检索的结果,组成 prompt 给到大模型进行答案的生成。

最后,完成 RAG 全链路后,可以使用测评服务进行效果的评估。

RAG 在各行业领域的应用实践

目前在各个场景中都有 RAG 的应用,这里罗列的内容更偏向 to C 的场景,比如内容问答的场景,在一些技术社区已经有了问答式搜索的实践。还有企业知识库问答场景,这个也是目前应用最广泛的一个场景,可以基于企业内部知识库进行智能问答。

电商的导购场景,应用于商品售前环节,传统方式需要维护大量的问答对,来匹配到用户的问题。同时很难理解用户问题的意图,难以给到比较理想的答案。使用传统方式,其实很容易发现在跟机器人交流,回复也非常的生硬。基于大模型在电商导购这个场景,可以赋予更人性化的角色来进行回复。

最后教育场景,在 K12 的教育,或其他成人的教育场景中,往往会有非常多的知识,使用 RAG 方案,可以很快给出题目的答案和解题过程。

除了 C 端的场景之外,还会有一些智能运维、开发的场景都可以应用。这也是我们后续需要去持续探索的方向,可以在更多的场景中有更好的实践。

电商导购与多模态场景应用 Demo

接下来为大家演示下电商导购的 demo,这里提前录入了一些商品的数据,作为基础的知识库。

我们咨询第一个问题,需要购买一个女士领带,很快,这里给出了一款领带的推荐。接着继续追问,领带支持机洗嘛?这里根据知识库的数据依然给出了答复。紧接着,需要让系统帮忙推荐一款大衣。这里给出了 2 款大衣的推荐,告知了身高体重后,系统回复了适合用户穿的码数。在这个 demo 中有商品选型的咨询,还有一些追问,模型都可以根据实际的数据给出有效的答案,解决用户的问题,同时整体体验过程也比较流畅。

接下来我们看几个多模态的场景,这也是我们后续即将发布的能力。这里是一个图书多模态问答场景,采用的数据是图书的封面图片。问题是:适合儿童的书?在这里可以看到,首先给出的是一段文本的回答内容,推荐了对应的儿童书籍。同时,还有对应的参考链接。最下面显示了相关的参考图片。在这个 case 中,由于底层数据是纯图片的,因此需要先对图片内容进行解析理解,抽取出对应的文本描述,生成索引。当用户提出问题时,会在已经解析好的文本内容中进行检索,然后给出对应的答案。

接下来我们看几个多模态的场景,这也是我们后续即将发布的能力。这里是一个图书多模态问答场景,采用的数据是图书的封面图片。问题是:适合儿童的书?在这里可以看到,首先给出的是一段文本的回答内容,推荐了对应的儿童书籍。同时,还有对应的参考链接。最下面显示了相关的参考图片。在这个 case 中,由于底层数据是纯图片的,因此需要先对图片内容进行解析理解,抽取出对应的文本描述,生成索引。当用户提出问题时,会在已经解析好的文本内容中进行检索,然后给出对应的答案。

接下来,这是一个电商多模态的问答场景,数据采用商品的标题和图片信息。这里会对商品的图片进行识别解析,结合标题信息,生成索引。因此,让系统推荐一个红色的高跟鞋时,这里可以给出几款不同品牌的商品推荐,以及理由,下面还可以给出对应的商品图片信息。在我们实际电商导购的场景中,可以把商品信息、图片信息,以及更多的信息都容纳进来,可以更进一步的理解,给出最终的答案,整体的丰富度也会更好一些。

基于阿里云 Elasticsearch 的 AI 搜索演示

最后,为大家演示下 AI 语义搜索场景的 demo。

我们这里主要使用 3 个模型服务,来进行 AI 语义搜索的搭建:

  1. 开通阿里云 ES 8.13 版本的实例,以及搜索开发工作台服务,搜索开发工作台主要提供组件化的模型服务,可以跟 ES 配合搭建 AI 语义搜索方案。
  2. 完成阿里云 ES 和搜索开发工作台的基础配置,主要是白名单和访问 API-KEY 相关的配置。
  3. 使用 inference api 在阿里云 ES 中创建搜索开发工作台的模型服务。
  4. 在阿里云 ES 中配置语义搜索的 pipeline。

数据的写入及检索验证。

首先为大家展示下阿里云搜索开发工作台,进入控制台的服务广场,这里提供了 9 类模型服务。

我们进入体验中心,来做一些模型服务的体验。

目前新用户开通服务后,前 100 次调用是免费的,大家可以结合自己的业务做一些尝试。

首先看下文档解析服务。使用这里的示例数据,原始的文档中包括较多的表格数据,这里可以将 pdf 中的表格、图片、文本信息都解析提取出来。

接下来看下切片服务,这里指定切片最大长度为 300,模型会在保证语义完整性的同时,按照最大 300 的长度来切分。可以看到右侧的结果,每一个切片的语义都相对比较完整,这也是为了在我们后续检索时,达到更好的效果。切片完的信息,会返回一个树状的结构,方便在后续召回时进行上下文的补全,给大模型更加完整准确的信息,也有助于提升最终大模型回答的效果。

接下来先看下向量服务,这里给出的是一组 1536 维的稠密向量编码。

稀疏向量模型,稀疏向量区别于 BM25 的模型,我们使用机器学习训练的稀疏向量模型。不仅可以统计到相关的词频信息,也可以理解上下文的语义,给出对应的权重。使用稀疏向量的方式进行检索,可以达到超越全文检索的效果,全文检索仅仅是关键词的匹配。

更多阿里云 Elasticsearch AI 场景语义搜索的具体实操,可参考

https://help.aliyun.com/zh/es/user-guide/alibaba-cloud-es-ai-scene-semantic-search

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

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

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

相关文章

什么是国债期货?怎么玩?

国债期货,也就是利率期货,是一种在交易所里买卖未来国债价格的金融工具。它允许投资者在今天定下价格,然后在将来的某个时间点进行交易。在中国,国债期货在金融期货交易所上市,有几种不同的期限,比如30年期…

CDGA|数据治理核心能力框架与数据治理体系规划

随着数字化转型的加速和大数据技术的广泛应用,数据已成为企业核心资产之一。如何高效、安全地管理和利用数据,成为企业提升竞争力和创新能力的重要课题。本文将从数据治理核心能力框架和数据治理体系规划两个方面进行探讨,以期为企业的数据治…

Controller中接收数组参数 post请求中在body中传+post请求中通过表单形式传(x-www-form-urlencoded)

1、场景 需要根据用户id集合批量删除用户数据,前端使用post请求,controller中参数接收数组参数并根据用户id删除用户基本信息 2、分析处理: 2.1、前端请求类型contentType:application/json 请求体中为json字符串,后端新建一个Us…

【GH】【EXCEL】bumblebee简介:GH↔EXCEL

文章目录 bumblebeeaddressComponentAnalysisAppCellChartingDataGraphicsRangeShapesWorkbooksWorksheets Sample: Accessing_ExcelExcel ApplicationWorkbookSave Workbook (Create)Get All Workbooks from AppGet Workbook by Name Get WorkbookGet Active Workbook from Ap…

python 阴暗图像 亮度增强 对比度增强 去雾

背景说明 最近在处理图像,发现一些样本由于逆光原因过于阴暗,影响图像识别。解决时,可以在训练样本中加入类似的图像,或者手动把相关图像进行颜色变化。这里主要介绍手工颜色变化。 原始图像如下,假设你需要判断裤子…

使用 Elasticsearch-DSL Python 客户端简化向量嵌入

作者:来自 Elastic Miguel Grinberg 在本文中,我们将介绍 Python 版 Elasticsearch-DSL 客户端,重点介绍它如何简化构建向量搜索解决方案的任务。 本文附带的代码实现了一个名言数据库。它包括一个使用 FastAPI Web 框架用 Python 编写的后端…

利用http获取文件升级

1.搭建模拟环境 1.电脑端开启Telnet客户端 2.下载HFS文件服务器 Download HFS_2024电脑最新版_HFS官方免费下载_华军软件园 (onlinedown.net) 将要升级的文件放到HFS文件系统中,这里我用了一个test.txt来作为实验 2.通过telnet敲http报文获取HFS服务器中的文件…

拼车系统功能案例分析

拼车系统功能案例分析可以从多个维度进行,以下是一个综合性的分析 一、用户注册与登录 功能描述:用户可以通过手机号、微信、QQ等多种方式轻松注册登录,并支持实名认证以增强身份真实性。案例分析:以T5出行拼车平台为例&#xff…

珂艾泰克拧紧控制器维修方法多样化

珂艾泰克拧紧控制器作为精密工业设备的关键组件,其稳定运行对于保证生产效率和产品质量至关重要。然而,在实际应用中,可能会因各种原因出现CORETEC拧紧控制器故障,影响生产线的正常运行。 【常见CORETEC拧紧控制器故障及原因分析】…

借助帕累托图减少设备停机时间:将非生产时间最小化

虽然全球通胀趋于稳定,但各行业仍能感受到2022年和2023年价格快速上涨的残余影响。对于石油和天然气公司来说,运营成本(包括设备、材料和劳动力)的上升加剧了财务压力。在这个竞争激烈的市场中,减少非生产时间(NPT)对于保持盈利能力至关重要。…

分享五种mfc140.dll丢失如何修复?五种修复错误的详细解决办法

在Windows操作系统中,DLL(动态链接库)文件扮演着至关重要的角色,它们为应用程序提供了共享的函数和资源。其中,mfc140.dll是Microsoft Visual C 2015 Redistributable Package的一部分,对于许多使用Microso…

会话管理

目录 一、为什么使用会话 二、cookie 1.概述 2.使用 (1) servletA向响应中增加Cookie (2)浏览器访问ServletA响应回来的响应报文携带cookie (3)浏览器访问ServletB,将携带cookie的请求报…

探索ORM宇宙:MyBatis-Plus的力量

**技术派项目源码地址 : ** **Gitee : 技术派 - https://gitee.com/itwanger/paicoding**Github : 技术派 - https://github.com/itwanger/paicoding **Mybatis-Plus 官网 : **MyBatis-Plus &#x1f680; 为简化开发而生 (baomidou.com) 整合Mybatis-Plus 引入依赖 <…

Flink之SQL client使用案例

Flink的执行模式有以下三种: 前提是我们已经开启了yarnsession的进程&#xff0c;在下图中可以看到启动的id也就是后续任务需要通过此id进行认证&#xff0c;以及任务分配的master主机。 这里启动时候会报错一个ERROR&#xff1a;org.apache.flink.shaded.curator.org.apache…

风电场风机安全监测系统解决方案

建设背景 随着风电产业的快速发展&#xff0c;风力发电已成为一种重要的清洁能源形式。风电场中的风塔是支撑风力发电机组的重要结构&#xff0c;其安全稳定运行对于风电场的正常运营和发电效率至关重要。然而&#xff0c;风塔常常面临风载、震动、腐蚀等多种外部因素的影响&a…

一键切换全球优质Linux 系统软件源及 Docker 源,轻松安装 Docker —— 适配广泛、零门槛、超强功能的开源脚本!

概述 linuxMirrors开源脚本为 GNU/Linux 系统用户提供了强大的工具,帮助用户轻松更换系统软件源并安装 Docker。脚本适配了多种国内外镜像站,经过测试具备良好的下载速度和 IPv6 兼容性,并且还包括了中国大陆教育网镜像站的选项。无需技术背景,文档提供了详尽的操作指引和常…

telegraf、influxdb、grafana安装配置及后端监听器操作

InfluxDB&#xff08;时序数据库&#xff09;&#xff0c;常用的一种使用场景&#xff1a;监控数据统计。 grafana&#xff0c;用作监控页面的前端展示。 telegraf&#xff0c;数据采集器。 ITG及快捷启动百度网盘&#xff1a;百度网盘 链接: 提取码: 0000 其他地址链接&am…

pycharm2023.1破解

下载解压文件&#xff0c;文件夹 /jetbra 复制电脑某个位置 注意&#xff1a; 补丁所属文件夹需单独存放&#xff0c;且放置的路径不要有中文与空格&#xff0c;以免 Pycharm 读取补丁错误。 点击进入 /jetbra 补丁目录&#xff0c;再点击进入 /scripts 文件夹&#xff0c;双…

JAVA中的网络编程巨详解(2w字)

在学习 Java 网络编程之前&#xff0c;我们先来了解什么是计算机网络。 计算机网络是指两台或更多的计算机组成的网络&#xff0c;在同一个网络中&#xff0c;任意两台计算机都可以直接通信&#xff0c;因为所有计算机都需要遵循同一种网络协议。 下面是一张简化的网络拓扑图…

【Unity开发】几种空值判断的性能测试

【Unity开发】几种空值判断的性能测试&#xff09; 项目优化过程中&#xff0c;一个非常细节的优化&#xff0c;就是在项目数据处理过程中&#xff0c;会用大量的null和“”空值的判断&#xff0c;参考了一些网友说的性能差别很大&#xff0c;是不是真的需要优化的问题&#xf…