作者:来自 Elastic Alvin Richards, Ranjana Devaji
Elasticsearch 8.13 扩展了能力,使开发者能够利用人工智能和机器学习模型创建快速和卓越的搜索体验。与 Apache Lucene 9.10 集成,测量向量搜索性能在基准测试中超过 2 倍,扩展了可以在几乎实时执行的搜索的复杂性。我们增加了原生的 Learning to Rank (LTR) 功能,简化了对 Top-N 结果进行重新排名,这对于检索增强生成(RAG)用例至关重要 —— 在这些用例中,大型语言模型(LLM)需要在尽可能最佳的上下文中操作。
创建卓越的搜索体验还涉及你需要搜索的数据语料库。连接器简化了从多个来源将数据带入Elasticsearch,并且我们已将目录扩展到包括 Redis(预览版)和Notion(Beta),这些是覆盖数据库(PostgreSQL、MongoDB等)、工作场所(SharePoint、Dropbox、Gmail 等)、连接性(Slack、Teams、Zoom 等)和生产力工具(ServiceNow、Jira等)的20多个原生连接器之一。这些来源的同步现在可以轻松设置,能够将数据带入现有索引。
Elasticsearch 8.13 现在在 Elastic Cloud 上可用 —— 这是唯一一个托管 Elasticsearch 提供所有最新功能的最新版本。你还可以下载 Elastic Stack 和我们的云编排产品 Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes,进行自管理的体验。
还有什么新内容?查看 Elastic 8.13 发布帖以了解更多信息。
继续在 Lucene 9.10 上构建
我们继续致力于使 Lucene 成为最佳向量数据库。在这次发布中,我们看到了显著的性能改进。例如,在对 Cohere 数据集(1百万向量,每个向量 768 个浮点维度)的基准测试中,我们看到了夜间基准测试中性能的2倍提升。你可以在 Elasticsearch 平台亮点博客中关于这一创新的内容,这些创新对 Lucene 有所贡献。
学习排名 (Learning to Rank) 现已作为技术预览提供
LTR 现在作为一种重新评分器,原生地在 Elasticsearch 中可用。通过使用你输入的训练有素的机器学习模型重新排列结果集,它创造了更好的搜索结果。重新排名对于语义搜索来说是一个重要任务,无论是否使用向量搜索。它可以考虑查询之外的信号,将最相关的结果置于顶部。这对于依赖于仅将前几个结果作为上下文提供给 LLM 的 RAG 用例特别有用。
8.13 将 LTR 作为核心 Elastic Search 产品的一部分带来。我们很高兴能够以技术预览的形式为你试用。现在就用这个示例 notebook 尝试原生 LTR 吧。我们期待你的反馈!
更好、更快、更简单的相关性
应用程序代码对于开发者来说已经足够复杂,需要构建和维护。增加生成嵌入和协调更多系统的复杂性是一个额外且不必要的负担。在 Elasticsearch 8.13 中,我们简化了 Cohere 嵌入的集成,因此开发者可以在不需要协调许多组件和系统的复杂性下,享受到优秀嵌入模型的优势。我们提炼了 ELSER 的查询性能,允许用更少的计算资源达到性能目标。
开发者常常面临无法控制源数据的挑战。当涉及到大型文档时,它们通常需要被分解(或分块)成多个嵌入。当一个文档关联有多个图片或其他工件时,情况也是如此。现在,通过在嵌套 kNN 查询中使用多个 inner_hits,其中这些嵌入被存储为嵌套文档,可以实现多个结果。
许多用例需要积极管理同义词以确保结果的相关性。数据中产品名称、SKUs 和其他语言陷阱的使用促使我们创建了一个 API 来以编程方式管理同义词。这个 API 现在已晋升为正式发布,并补充了通过 UI 管理同义词的能力。
Elasticsearch Python 客户端现在支持 orjson。orjson 是一个快速、正确的 Python JSON 库。在基准测试中,它的性能超过了标准内置 json 模块。序列化/反序列化的速度改进提高了向量用例的性能,其中涉及到大量索引向量。
使用现有索引的连接器
由于搜索的生命线是你操作的数据语料库,我们继续增强现有连接器的目录。在这个版本中,我们将 Redis(预览版)和 Notion(Beta)添加到了目录中。Google Drive、Gmail、OneDrive、Outlook 和 Salesforce 现在已经晋升为正式发布版。
问题不仅在于你连接到什么,还在于如何以及检索到什么数据。我们简化了连接器流程,并改进了同步能力,将数据带入 Elasticsearch,并为 ServiceNow 和 Salesforce 连接器添加了文档级安全性。
更重要的是,你可以将数据带入现有索引。连接器不再必须使用一个预定义的索引。这使得开发者在数据应该如何以及在 Elasticsearch 中的位置上有了更大的灵活性,使他们能够使用预先存在的索引或者为特定项目或用例创建的索引,或者随时切换到新的索引。
尝试一下吧!
阅读关于这些功能以及更多内容的发布说明。你还可以在 Search Labs中找到代码参考、Jupyter notebook 和最新的研究。
现有的 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问许多这些功能。还没有在云上充分利用 Elastic 吗?开始免费试用吧。
在本博客文章中描述的任何功能或功能的发布和时间仍然由 Elastic 全权决定。目前不可用的任何功能或功能可能无法按时或完全交付。
在本博客文章中,我们可能使用或引用第三方生成式AI工具,这些工具由各自的所有者拥有和运营。Elastic对第三方工具没有任何控制权,我们对其内容、操作或使用以及由你使用此类工具可能引起的任何损失或损害不承担任何责任或义务。在使用涉及个人、敏感或机密信息的AI工具时,请谨慎行事。你提交的任何数据可能用于 AI 训练或其他目的。我们无法保证你提供的信息将被保持安全或保密。在使用生成式AI工具之前,你应该熟悉其隐私惯例和使用条款。
Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标志是 Elasticsearch N.V. 在美国和其他国家的商标、标志或注册商标。所有其他公司和产品名称均为其各自所有者的商标、标志或注册商标。
原文:Elastic Search 8.13: Simplifying embedding and ranking for developers and delivering faster results | Elastic Blog