作者:牛俊

TechDay

本文由阿里云搜索产品专家牛俊在【AI搜索TechDay】上的分享【阿里云AI搜索Demo展示和动手实践】整理而成。【AI搜索TechDay】是Elastic和阿里云联合主办的AI技术Meetup系列,聚焦企业级AI搜索应用和开发者动手实践,旨在帮助开发者在大模型浪潮下升级AI搜索,助力业务增长。

阿里云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全链路后,可以使用测评服务进行效果的评估。

动手实践:如何高效构建企业级AI搜索_数据

 

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

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

动手实践:如何高效构建企业级AI搜索_搜索_02

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

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

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

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

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

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

动手实践:如何高效构建企业级AI搜索_人工智能_03

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

动手实践:如何高效构建企业级AI搜索_AI搜索_04

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

动手实践:如何高效构建企业级AI搜索_搜索_05

 

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

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

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

  1.   开通阿里云ES 8.13版本的实例,以及搜索开发工作台服务,搜索开发工作台主要提供组件化的模型服务,可以跟ES配合搭建AI语义搜索方案。
  2.   完成阿里云ES和搜索开发工作台的基础配置,主要是白名单和访问API-KEY相关的配置。
  3.   使用inference api在阿里云ES中创建搜索开发工作台的模型服务。
  4.   在阿里云ES中配置语义搜索的pipeline。
  5.   数据的写入及检索验证。
  6. 首先为大家展示下阿里云搜索开发工作台,进入控制台的服务广场,这里提供了9类模型服务。我们进入体验中心,来做一些模型服务的体验。

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

动手实践:如何高效构建企业级AI搜索_AI搜索_06

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

动手实践:如何高效构建企业级AI搜索_人工智能_07

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

动手实践:如何高效构建企业级AI搜索_数据_08

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

动手实践:如何高效构建企业级AI搜索_AI搜索_09

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

动手实践:如何高效构建企业级AI搜索_elasticsearch_10

 更多阿里云Elasticsearch AI场景语义搜索的具体实操,可参考 https://help.aliyun.com/zh/es/user-guide/alibaba-cloud-es-ai-scene-semantic-search 

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