作者:来自阿里云搜索产品专家牛俊
本文由阿里云搜索产品专家牛俊在【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 语义搜索的搭建:
- 开通阿里云 ES 8.13 版本的实例,以及搜索开发工作台服务,搜索开发工作台主要提供组件化的模型服务,可以跟 ES 配合搭建 AI 语义搜索方案。
- 完成阿里云 ES 和搜索开发工作台的基础配置,主要是白名单和访问 API-KEY 相关的配置。
- 使用 inference api 在阿里云 ES 中创建搜索开发工作台的模型服务。
- 在阿里云 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)、多模态搜索等搜索相关场景的搭建。