作者:Matt Riley
今天我们将向大家介绍 Elasticsearch Relevance Engine™(ESRE™),这是一种创建高度相关的 AI 搜索应用程序的新功能。ESRE 建立在 Elastic 在搜索领域的领导地位以及超过两年的机器学习研究和开发基础之上。Elasticsearch Relevance Engine 结合了 AI 的最佳实践和 Elastic 的文本搜索。ESRE 为开发人员提供了一整套将复杂的检索算法和与大型语言模型(LLM)集成的能力。不仅如此,ESRE 使用 Elastic 的简单、统一 API,开发人员可以立即开始以提高搜索相关性,因为这些 API 已经得到Elastic社区的信任和广泛应用。
Elasticsearch Relevance Engine launch
Elasticsearch Relevance Engine 的可配置功能可通过以下方式提高相关性:
- 应用高级相关性排名功能,包括 BM25f,这是混合搜索的关键组成部分
- 使用 Elastic 的向量数据库创建、存储和搜索密集向量
- 使用各种自然语言处理(NLP)任务和模型处理文本
- 让开发人员在 Elastic 中管理和使用自己的 transformer 模型,以适应业务特定的上下文
- 通过 API 与第三方转换器模型集成(如 OpenAI 的 GPT-3 和 4),从 Elasticsearch 集群中汇总的客户数据存储的检索内容中提取直观摘要
- 使用 Elastic 的开箱即用的 Learned Sparse Encoder 模型实现基于 ML 的搜索,无需训练或维护模型,可在各种领域提供高度相关、语义化的搜索
- 与第三方工具集成,例如 LangChain,以帮助构建复杂的数据管道和生成式 AI 应用程序
搜索的发展始终受到提高相关性和不断改进搜索应用程序交互方式的需求的推动。高度相关的搜索结果可以导致搜索应用程序上的用户参与度增加,对收入和生产力产生重大的影响。在新的 LLM 和生成式 AI 世界中,搜索可以走得更远,理解用户意图,提供前所未有的响应特定性。
值得注意的是,每一次搜索进步都提供了更好的相关性,同时解决了新兴技术和不断变化的用户行为所带来的新挑战。无论是扩展关键字搜索以提供语义搜索,还是为视频和图像启用新的搜索模式,新技术都需要独特的工具来为搜索用户提供更好的体验。同样,当今人工智能世界需要一个新的、高度可扩展的开发人员工具包,该工具包应建立在被广泛印证、被客户测试过的技术堆栈上。
随着生成式 AI 的发展势头和 ChatGPT 等技术的日益普及,以及对大型语言模型能力的日益增强的认识,开发人员渴望尝试使用技术来改进他们的应用程序。Elasticsearch Relevance Engine 为生成式 AI 世界带来了新的能力,并以强大的工具迎接当今时代,任何开发团队都可以立即使用。
Elasticsearch Relevance Engine 现在可以在 Elastic Cloud 上使用,这是唯一一个包含此最新版本中所有新功能的托管 Elasticsearch 服务。您还可以下载 Elastic Stack 和我们的云编排产品 Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes,以在自建集群上获得体验。
想了解更多关于 Elasticsearch Relevance Engine™ 的信息?请查看这些技术博客:
- ChatGPT and Elasticsearch
- Elastic Learned Sparse Encoder blog
- Accessing machine learning models in Elastic
- Privacy-first AI search using LangChain and Elasticsearch
克服生成式 AI 模型的局限性
Elasticsearch Relevance Engine™ 可以很好地帮助开发人员快速发展并应对自然语言搜索的这些挑战,包括生成 AI。
1)企业数据/上下文感知: 模型可能没有足够的与特定领域相关的内部知识。这源于训练模型的数据集。为了定制 LLM 生成的数据和内容,企业需要一种方法来为模型提供专有数据,以便他们能够学习提供更多相关的、特定于业务的信息。
2)卓越的相关性: Elasticsearch 相关性引擎让来自私有数据源的数据集成起来变得简单,只需生成和存储 embeddings,就可以使用语义搜索检索上下文。embeddings 是对单词、短语或文档的数值表示,可以帮助 LLM 理解单词的含义和关系。这些 embeddings 可以提高转换器模型的输出速度和规模。ESRE 还允许开发者将自己的转换器模型引入 Elastic 或与第三方模型集成。
我们还意识到,后期交互模型的出现使我们能够提供开箱即用的功能——无需对第三方数据集进行大量培训或微调。由于并非每个开发团队都有资源或专业知识来训练和维护机器学习模型,也不了解规模、性能和速度之间的权衡,因此 Elasticsearch Relevance Engine 还提供了 Elastic Learned Sparse Encoder,一个为跨领域语义搜索而构建的检索模型。该模型将稀疏向量与基于关键字的传统 BM25 搜索配对,为混合搜索提供了一个易于使用的 Reciprocal Rank Fusion (RRF)评分器。ESRE 在第一天就为开发人员提供了机器学习驱动的相关性和混合搜索技术。
3)隐私和安全:数据隐私是企业使用和安全地在网络和组件之间传递专有数据的核心,即使是在构建创新的搜索体验时也是如此。
Elastic 提供基于角色和基于属性的访问控制的原生支持,以确保只有那些有权访问数据的角色才能看到它,即使对于聊天和问答应用程序也是如此。Elasticsearch 可以支持您的组织保持某些文档可供特权个人访问的需求,从而帮助您的组织维护所有搜索应用程序的通用隐私和访问控制。
当隐私是最重要的关注点时,将所有数据保留在您组织的网络内不仅是至关重要的,而且是必须的。从允许您的组织实现在隔离环境中部署应用程序,到支持访问安全网络,ESRE 提供了您需要的工具来帮助您的组织保护您的数据安全。
4)规模和成本: 由于数据量和所需的计算能力和内存,使用大型语言模型对于许多企业来说可能是不切实际的。然而,想要构建自己的生成式 AI 应用程序(如聊天机器人)的企业需要将 LLM 与他们的私有数据结合起来。
Elasticsearch Relevance Engine为企业提供了一种高效地提供相关性的引擎,它使用精确的上下文窗口来帮助减少数据占用空间,而不会带来麻烦和费用。
5)过时: 模型在收集训练数据时,被冻结在过去的某时间点上。因此,生成式 AI 模型创建的内容和数据只有在它们被训练时才是最新的。将企业数据集成起来是使 LLM 能够提供及时结果的内在需求。
6)幻觉:在回答问题或交互式对话时,LLM 可能会编造一些听起来可信且令人信服的事实,但实际上是不不符合事实的预测。这也是为什么需要将 LLM 与具有上下文、定制化知识相结合,以使模型在商业环境中可用的另一个至关重要的原因。
Elasticsearch Relevance Engine让开发者可以通过生成式AI模型中的一个上下文窗口,连接到他们自己的数据存储。添加的搜索结果可以提供来自私有源或专业领域的最新信息,因此在被提示时可以返回更多的事实信息,而不是仅仅依赖于模型所谓的 “参数化” 知识。
借助向量数据库的强大功能
Elasticsearch Relevance Engine 包含了一个经过设计的弹性、生产级的向量数据库。它为开发者提供了一个构建丰富的语义搜索应用程序的基础。使用 Elastic 的平台,开发团队可以使用密集向量检索来创建更直观的问答,不受关键字或同义词的限制。他们可以使用图像等非结构化数据来构建多模态搜索,甚至可以对用户画像进行建模来获取个性化的搜索结果,以用于产品和发现、求职或配对应用程序。这些NLP转换器模型还可以实现情感分析、命名实体识别和文本分类等机器学习任务。Elastic的向量数据库让开发者可以创建、存储和查询向量,这些向量具有高度的可扩展性和性能,适用于真正的生产应用程序。
Elasticsearch 擅长高相关性的搜索检索。有了 ESRE,Elasticsearch 为生成式 AI 提供了与企业专有数据相连接的上下文窗口,让开发者可以构建更吸引人、更准确的搜索体验。搜索结果根据用户的原始查询返回,开发者可以将数据传递给他们选择的语言模型,以提供带有额外上下文的答案。Elastic 利用来自您企业存储的相关上下文数据内容,为问答和个性化功能提供加速,这些数据是私有的,也是针对您业务定制的。
为所有开发人员提供开箱即用的卓越相关性
随着 Elasticsearch Relevance Engine 的发布,我们正在使 Elastic 的专有检索模型随时可用。该模型易于下载,并且可以与我们所有的摄取机制(如 Elastic 网络爬虫、连接器或 API)一起使用。开发者可以将其与他们可搜索的语料库一起开箱即用,而且它足够小,可以适应笔记本电脑的内存。Elastic Learned Sparse Encoder 为诸如知识库、学术期刊、法律发现和专利数据库等搜索用例提供了跨领域的语义搜索,无需调整或训练就能提供高度相关的搜索结果。
大多数真实世界的测试显示,混合排名技术正在产生最相关的搜索结果集。直到现在,我们一直缺少一个关键组件 —— RRF。我们现在为您的应用程序搜索需求提供RRF,这样您就可以将向量和文本搜索能力结合起来。
机器学习在增强搜索结果与语义上下文的相关性方面处于领先地位,但是往往由于成本、复杂性和资源需求而使得开发者难以有效地实施它。开发者通常需要专业机器学习或数据科学团队的支持来构建高度相关的 AI 驱动的搜索。这些团队花费大量时间选择合适的模型,在特定领域的数据集上进行训练,并随着数据及其关系变化而维护模型。
了解 Go1 如何使用 Elastic 的矢量数据库进行可扩展的语义搜索。
没有专业团队支持的开发者也可以实施语义搜索,并从一开始就受益于 AI 驱动的搜索相关性,而无需其他替代方案所需的努力和专业知识。从今天开始,所有客户都拥有构建块来帮助实现更好的相关性和更现代、更智能的搜索。
试试看
了解这些功能以及查看更多信息。
现有的 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问其中的许多功能。没有利用 Elastic on Cloud?了解如何将 Elasticsearch 与 LLM 和生成式 AI 结合使用。
本博文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。任何目前还没有的功能或特性,可能会延期或者根本不会出现。
Elastic、Elasticsearch、Elasticsearch Relevance Engine、ESRE、Elastic Learned Sparse Encoder 和相关标记是 Elasticsearch NV 在美国和其他国家/地区的商标、徽标或注册商标。所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。