写点什么

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

  • 2024-08-28
    浙江
  • 本文字数:2759 字

    阅读完需:约 9 分钟

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



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

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



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


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


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

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

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


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



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



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



基于阿里云 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 次调用是免费的,大家可以结合自己的业务做一些尝试。



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



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



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



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



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

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


用户头像

还未添加个人签名 2020-10-15 加入

分享阿里云计算平台的大数据和AI方向的技术创新和趋势、实战案例、经验总结。

评论

发布
暂无评论
动手实践:如何高效构建企业级AI搜索_人工智能_阿里云大数据AI技术_InfoQ写作社区