Elastic Search 8.14:更快且更具成本效益的向量搜索,使用 retrievers 和重新排序提升相关性,RAG 和开发工具

本文主要是介绍Elastic Search 8.14:更快且更具成本效益的向量搜索,使用 retrievers 和重新排序提升相关性,RAG 和开发工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:来自 Elastic Yaru Lin, Ranjana Devaji

我们致力于突破搜索开发的界限,并专注于为搜索构建者提供强大的工具。通过我们的最新更新,Elastic 对于处理以向量表示的大量数据的客户来说变得更加强大。这些增强功能保证了更快的速度、降低的存储成本以及软件和硬件之间的无缝集成。

Elastic Search 8.14 现已在 Elastic Cloud 上推出,这是唯一包含最新版本中所有新功能的托管 Elasticsearch 产品。你还可以下载 Elastic Stack 和我们的云编排产品(Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes),以获得自我管理的体验。

Elastic 8.14 中还有哪些新功能?查看 8.14 公告帖子了解更多信息。

带来极快的向量搜索

在我们的使命中,为搜索构建者提供最强大的开发平台,现在使用向量进行数十亿规模操作的客户可以在 Elastic 中获得更多的效益。我们的更新显著提升了向量索引和搜索速度,降低了存储成本,并提供了软件和硬件之间的协同作用。

我们对计算向量之间距离的代码库进行了改进,这使得处理向量数据时的二进制比较速度比 Lucene 的实现快了多达 6 倍。这一优化对向量搜索速度产生了显著影响。

Elasticsearch 的 Python 客户端现在支持 orjson,这是基准测试中最快的 Python JSON 库,可以使numpy向量的索引速度提高多达 10 倍。

标量量化允许以稍微降低的保真度编码向量,但能大幅节省空间。在创建带有向量的新索引时,不再需要先将索引类型设置为 int8_hnsw。相反,将默认使用 int8向量值,为用户提供成本效益高且准确的向量搜索。我们的系统评估发现,标量量化对检索性能的影响微乎其微。

在 Elastic Cloud 上使用向量搜索的客户,无论使用哪家云服务提供商,都可以利用为向量优化的硬件配置文件以获得最佳的软件性能。这些硬件配置文件现在不仅在 AWS 上可用,还在 Azure 和 GCP 上提供。

用检索器和重新排序使搜索相关性普及

检索器(retrievers)和重新排名(reranking)在提高搜索结果的相关性和准确性方面发挥着至关重要的作用。我们的更新对向量搜索用户和使用更传统模型(例如 BM25)的用户都有影响。

我们将检索器(retrievers)抽象添加到 _search API,以便使用 standard、knn 或 rrf 方法返回热门命中。这使用户能够更轻松地构建复杂的多阶段检索,而无需复杂的管道。

例如,要一起使用 KNN 和 BM25 检索方法,不再需要使用管道定义阶段来执行 KNN 搜索、检索结果的 ID,然后对所述 ID 执行 BM25 搜索。相反,检索器树可以直接构建到搜索查询中:

GET index/_search
{"retriever": {"rrf": {"window_size": 100,"retrievers": [{"knn": {"field": "vector","k": 3,"num_candidates": 10,"query_vector": [1, 2, 3]}},{"standard": {"query": {"match": {"message": {"query": "{{query_string}}"    }}}}}]}},"size": 5,"fields": ["message"]
}

对检索到的文档重新排序可以通过返回与搜索查询相关的文档的相关性排名来进一步提高相关性。重新排名有效地向所有用户提供语义搜索:RAG 系统将能够依赖于上下文最相关的顶部结果,而传统搜索(例如 BM25)将能够将最相关的结果显示在顶部。

Elastic 是唯一支持 Cohere Rerank 3 模型的向量数据库,并通过我们的 _inference API 无缝地使用该模型进行重新排名,无需复杂的多个查询或重新索引文档。要使用 Cohere 模型对检索结果重新排序,请首先配置推理端点:

PUT _inference/rerank/cohere_rerank {"service": "cohere","service_settings": {"api_key": <API-KEY>, "model_id": "rerank-english-v3.0"},"task_settings": {"top_n": 10,"return_documents": true}}

指定推理端点后,通过传入用于检索的原始查询以及搜索检索到的文档,使用它对结果进行重新排序。

POST _inference/rerank/cohere_rerank{"input": [{{query_results}}], "query": "{{query_string}}" }

提升 RAG 体验

我们最新的工具和增强功能旨在提升 RAG 体验。 Playground 和带有 Jupyter Notebook 的开发控制台都使用户能够快速实验、改进和迭代。

在 Playground 中,开发人员可以选择从多个第三方数据源提取的多个索引来试验和完善语义文本查询、导出生成的代码,并最终设计会话式搜索体验。这简化了 RAG 实施,并允许使用 Elasticsearch 数据快速构建聊天体验原型,以支持 LLM 响应。

可嵌入开发控制台(Dev Console)现在在 Kibana 中随处可见,可通过预先填充的上下文代码片段以及 Jupyter Notebook 来快速启动查询开发。

我们增加了对从 Azure OpenAI 获取嵌入的支持,解锁高级 AI 功能并丰富 RAG 的功能和见解。 OpenAI 完成任务现已在推理处理器中可用,简化了生成智能响应的工作流程并提高了 RAG 交互的整体效率。

工具增强可更有效地处理数据

高效地将数据加载到 Elastic 中并在其中处理数据的能力对于维护有效的搜索应用程序至关重要。这些增强功能允许用户根据其特定需求定制服务并简化开发和运营流程:

  • 使用 ES|QL 轻松执行查询并将结果自动转换为 Java 对象和 PHP 对象。
  • 数据提取服务是开放代码。
  • GraphQL 连接器现已处于技术预览阶段。 GraphQL 支持声明式数据获取,客户端可以从 API 中准确指定所需的数据。
  • Connector API 现已处于测试阶段。
  • 支持 GitHub Connector 的 GitHub App 身份验证。

试试看

请阅读发行说明中了解这些功能以及更多信息。

现有 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问其中许多功能。没有利用云上的 Elastic?开始免费试用。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。你提交的任何数据都可能用于人工智能培训或其他目的。无法保证你提供的信息将得到安全或保密。在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标志是 Elasticsearch N.V. 的商标、徽标或注册商标。在美国和其他国家。所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Elastic Search 8.14: Faster and more cost-effective vector search, improved relevance with retrievers and reranking, RAG and developer tooling | Elastic Blog

这篇关于Elastic Search 8.14:更快且更具成本效益的向量搜索,使用 retrievers 和重新排序提升相关性,RAG 和开发工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036660

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c