Elasticsearch 8.16:适用于生产的混合对话搜索和创新的向量数据量化,其性能优于乘积量化 (PQ)

作者:来自 Elastic Ranjana Devaji, Dana Juratoni

Elasticsearch 8.16 引入了 BBQ(Better Binary Quantization - 更好的二进制量化)—— 一种压缩向量化数据的创新方法,其性能优于传统方法,例如乘积量化 (Product Quantization - PQ)。Elastic 是第一家实施这种方法的向量数据库供应商,它使此功能可用于实际搜索工作负载,减少必要的计算资源,同时保持低查询延迟和高排名质量。

此版本还带来了倒数排名融合 (Reciprocal Rank Fusion - RRF)、检索器和开放推理 API 的正式发布,以及一套全面的工具,用于简化工作流程以构建基于混合搜索和检索增强生成 (retrieval augmented generation - RAG) 的应用程序。

Elasticsearch 8.16 现已在 Elastic Cloud 上提供 —— 这是唯一一款包含此最新版本所有新功能的托管 Elasticsearch 产品。这些功能也可在 Elastic Cloud 上完全托管的无服务器 Elasticsearch 项目中使用。你还可以下载 Elastic Stack 和我们的云编排产品 —— Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes —— 以获得自我管理体验。

要开始使用 Elasticsearch 进行本地开发运行,请查看我们的 start-local 脚本,以便在几分钟内在笔记本电脑上进行本地部署。

curl -fsSL https://elastic.co/start-local | sh

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

Elastic 实现了 BBQ

认识 Better Binary Quantization (BBQ),这是一种针对象量数据的尖端优化,可在不影响准确性的情况下将向量数据的压缩率提高 32 倍。Elastic 很自豪能够率先为分布式可扩展 Elasticsearch 向量数据库的用户提供此功能,以减少和扩展依赖于大型数据集的工作负载。

此功能最初仅供 Elastic 客户使用,但将迅速贡献给 Lucene 社区,以提升所有向量存储的潜在功能。

BBQ 保持了高排名质量,同时实现了与标量量化几乎相同的速度和存储效率。其高压缩级别使组织能够有效地管理大型数据集并以可承受的价格扩展其向量存储和搜索操作。此外,BBQ 可将内存使用量减少 95% 以上,同时在数据集扩展时仍能保持出色的召回率。它还可以轻松地与 Elasticsearch 中的其他量化方法结合使用,以最大限度地提高效益。

混合对话式搜索,更多工具,更简单

混合搜索是管理搜索体验相关性的关键技术。通过将词汇关键字搜索的精确度与语义搜索的上下文理解相结合,电子商务目录搜索可以在获得语义理解的同时保持精确度。此外,RAG 和对话式搜索体验可以减少 LLM 上下文带来的幻觉。

虽然有几种方法可以实现混合搜索,包括对分数进行加权,但在检索方法之间规范分数的最简单方法是 RRF。Elastic 首次在 8.8 中将 RRF 作为技术预览版进行集成,随后将可组合检索器(retrievers)抽象引入查询 DSL,从而简化了使用。这些功能的结合使构建混合搜索变得像对 /_search 进行一次查询调用一样简单。

以下是结合三种检索器的伪代码 —— 一种用于匹配查询,一种用于向量 (kNN) 查询,另一种用于简单的语义查询(使用推理 API 中指定的推理服务)。这三个检索器结果可以通过 RRF 快速规范化。另外,还有一个检索器,可轻松进行 semantic_reranking,以实现第二阶段检索并提高相关性。对于你的生产工作负载来说,完整的相关性功能堆栈可以如此简单!

"retriever": {"text_similarity_reranker": {// ... semantic reranking parameters"retriever": {"rrf": {"retrievers": [{"standard": {"query"."semantic": {"field": "a-semantic_text-field","query": "why are retrievers fun?"}}},{"knn": {// ... knn parameters // ... query_vector_builder parameters"model_text": "why are retrievers fun?" }}}},{"standard": {"query"."match": {"some-field": "why are retrievers fun?"
}}}}]}}}}

现在,这两项关键功能(检索器和倒数秩融合 (RRF))均已向企业许可客户正式开放,从而增强了可组合性和性能,以实现自信的生产部署。8.16 支持多级嵌套,每个级别都提供所有功能,为学习排序 (Learning to Rank - LTR) 和基于规则的检索器铺平了道路。

厌倦了不相关的搜索结果?使用排除查询规则( exclude Query Rules)轻松排除特定结果,确保你的用户获得更准确、更集中的搜索结果。

Elastic 的开放推理 API(open inference API - 现在也已普遍可用)使你能够创建端点并使用来自流行推理提供商的机器学习模型。这些端点可以在 semantic_text 中用于轻松检索,检索器可用于语义查询、kNN 查询和语义重新排序(semantic reranking)。我们的集成推理提供商目录包括 Anthropic、Mistral、Cohere 等!在 8.16 中,我们现在提供对 Watsonx.ai Slate 嵌入模型和阿里云 AI 嵌入模型的支持、重新排序功能以及对 Qwen LLM 系列的完成支持。

此外,semantic_text 现在支持新的可调整分块选项,使用户可以灵活地修改我们针对向量化数据的原生分块策略,从单词分块改为句子,并调整分块窗口大小。

客户还可以在其摄取管道中使用推理 API 中的 completion 任务类型来丰富文档处理和摘要存储。这与我们的 Elastic 集成目录(例如 Elastic Open Web Crawler 和连接器)特别匹配。

增强开发人员体验

出色的搜索体验由开发人员构建。Kibana 已更新,包括使 Kibana 体验更好的功能,可以迭代机器学习和调优的所有潜在组合。在代码和 Kibana 中快速执行此操作的能力可以加速对点击转化率产生积极影响的变化,或完善对组织的关键见解的总结。

首先从可自定义的导航(navigation)选项开始,开发人员可以直接访问重要的工具。

Playground 已增强会话持久性和支持后续问题的能力。使用 Playground 进行 PDF 或 Word 文档上传更加容易,使文件实验更快、更高效。结合将开发控制台请求导出到 Python 和 Javascript 的能力,迭代和合并到你首选的开发环境中只是一个复制命令。

利用 8.16 的开源创新,该版本具有 Elastic Open Web Crawler(目前为测试版),可通过 CLI 进行管理,以实现高效的网站数据采集并将向量数据存储在 Elasticsearch 的顶级向量数据库中。此外,使用新的 start-local 功能,几分钟内即可开始使用,只需一步即可在本地启动 Elasticsearch 和 Kibana,以进行快速试用和评估。

用于搜索的 Elastic AI 助手

使用内置的用于搜索的 Elastic AI 助手改善你使用 Elasticsearch 和 Kibana 的方式。你不仅可以利用 Elastic 的功能构建自己的基于 RAG 的对话代理或应用程序,还可以利用开箱即用的加速入门功能并在 Elastic 部署中获得帮助。

所有 Elastic AI 助手都受益于自定义知识 — 引入和导入你的知识库或使用现有索引来使用自定义的 AI 驱动帮助中心,让你的团队快速掌​​握 Elastic 的强大功能。Web 爬虫和连接器(connectors )可用于增强和同步存储你知识的第三方数据源并个性化你的 Elastic AI 助手体验。

试用

阅读发行说明,了解这些功能及其他信息。

现有的 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问其中许多功能。还未在云端使用 Elastic?立即开始免费试用。

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

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

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

原文:Elasticsearch 8.16: Better Binary Quantization (BBQ) — A better way to quantize vector data over Product Quantization (PQ) and production-ready hybrid conversational search | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flume和kafka的整合

1、Kafka作为Source 【数据进入到kafka中,抽取出来】 在flume的conf文件夹下,有一个flumeconf 文件夹:这个文件夹是自己创建的 创建一个flume脚本文件: kafka-memory-logger.conf Flume 1.9用户手册中文版 — 可能是目前翻译最完…

现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法

文章目录 古典密码凯撒密码和移位变换仿射变换例题多表代换例题 AES数学基础(GF(2^8)有限域上的运算问题)多项式表示法 | 加法 | 乘法X乘法模x的四次方1的乘法 AES加密算法初始变换字节代换行移位列混合轮密钥加子密钥&#xff08…

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)

3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用) 文章目录 3. Spring Cloud Eureka 服务注册与发现(超详细说明及使用)前言1. Spring Cloud Eureka 的概述1.1 服务治理概述1.2 服务注册与发现 2. 实践:创建单机 Eureka Server 注册中心2.1 需求说明 图解…

视频孪生技术在金融银行网点场景中的应用价值

作为国民经济重要的基础行业,金融行业在高速发展的同时衍生出业务纠纷、安全防范、职能管理等诸多问题,对安全防范和监督管理提出了更高的要求。因此,如何能更好的利用视频监控系统价值,让管理人员更简便的浏览监控视频、更快速的…

武汉EI学术会议一览表

武汉近期将举办BDDM2024大数据会议、ASIM2024智能制造会议、ICSGPS2025电网会议,吸引国内外学者参与,推动科技创新与产业发展,录用论文将提交EI索引。 武汉EI学术会议一览表 1.第二届大数据与数据挖掘国际会议(BDDM 2024&#xf…

LeetCode Hot100 15.三数之和

题干: 思路: 首先想到的是哈希表,类似于两数之和的想法,共两层循环,将遍历到的第一个元素和第二个元素存入哈希表中,然后按条件找第三个元素,但是这道题有去重的要求,哈希表实现较为…

html + css 自适应首页布局案例

文章目录 前言一、组成二、代码1. css 样式2. body 内容3.全部整体 三、效果 前言 一个自适应的html布局 一、组成 整体居中&#xff0c;宽度1200px&#xff0c;小屏幕宽度100% 二、代码 1. css 样式 代码如下&#xff08;示例&#xff09;&#xff1a; <style>* {…

使用Axios函数库进行网络请求的使用指南

目录 前言1. 什么是Axios2. Axios的引入方式2.1 通过CDN直接引入2.2 在模块化项目中引入 3. 使用Axios发送请求3.1 GET请求3.2 POST请求 4. Axios请求方式别名5. 使用Axios创建实例5.1 创建Axios实例5.2 使用实例发送请求 6. 使用async/await简化异步请求6.1 获取所有文章数据6…

MySQL —— MySQL索引介绍、索引数据结构、聚集索引和辅助索引、索引覆盖

文章目录 索引概念索引分类索引数据结构种类Innodb 索引数据结构聚集索引和辅助索引&#xff08;非聚集索引&#xff09;聚集索引辅助索引&#xff08;非聚集索引&#xff09; 索引覆盖 索引概念 索引是对数据库表中一列或多列的值进行排序后的一种数据结构。用于帮助 mysql 提…

python实现十进制转换二进制,tkinter界面

目录 需求 效果 代码实现 代码解释 需求 python实现十进制转换二进制 效果 代码实现 import tkinter as tk from tkinter import messageboxdef convert_to_binary():try:# 获取输入框中的十进制数decimal_number int(entry.get())# 转换为二进制binary_number bin(de…

机器学习—正则化和偏差或方差

正则化参数的选择对偏差和方差的影响 用一个四阶多项式&#xff0c;要用正则化拟合这个模型&#xff0c;这里的lambda的值是正则化参数&#xff0c;它控制着你交易的金额&#xff0c;保持参数w与训练数据拟合&#xff0c;从将lambda设置为非常大的值的示例开始&#xff0c;例如…

在Node.js中如何使用TypeScript

第一步&#xff1a;创建一个Node.js项目的package.json文件 npm init -y第二步&#xff1a;添加TypeScript、添加node.d.ts npm install typescript -D npm install types/node -D第三步&#xff1a;初始化一个tsconfig.json文件 npx tsc --init --rootDir src --outDir lib…

零基础Java第十九期:认识String(一)

目录 一、String的重要性 二、String的常用方法 2.1. 字符串构造 2.2. String对象的比较 2.3. 字符串查找 2.4. 转化 2.4. 字符串替换 2.5. 字符串拆分 2.6. 字符串截取 一、String的重要性 在C语言中已经涉及到字符串了&#xff0c;但是在C语言中要表示字符串只能…

面试经典 150 题:20、2、228、122

20. 有效的括号 参考代码 #include <stack>class Solution { public:bool isValid(string s) {if(s.size() < 2){ //特判&#xff1a;空字符串和一个字符的情况return false;}bool flag true;stack<char> st; //栈for(int i0; i<s.size(); i){if(s[i] ( |…

【SpringBoot】公共字段自动填充

问题引入 JavaEE开发的时候&#xff0c;新增字段&#xff0c;修改字段大都会涉及到创建时间(createTime)&#xff0c;更改时间(updateTime)&#xff0c;创建人(craeteUser)&#xff0c;更改人(updateUser)&#xff0c;如果每次都要自己去setter()&#xff0c;会比较麻烦&#…

深度学习-卷积神经网络CNN

案例-图像分类 网络结构: 卷积BN激活池化 数据集介绍 CIFAR-10数据集5万张训练图像、1万张测试图像、10个类别、每个类别有6k个图像&#xff0c;图像大小32323。下图列举了10个类&#xff0c;每一类随机展示了10张图片&#xff1a; 特征图计算 在卷积层和池化层结束后, 将特征…

stm32——通用定时器时钟知识点

&#xff08;该图来自小破站 铁头山羊老师的stm32标准库教学&#xff09;

SobarQube实现PDF报告导出

文章目录 前言一、插件配置二、使用步骤1.新生成一个Token2.将拷贝的Token加到上文中执行的命令中3.查看报告 三、友情提示总结 前言 这篇博文是承接此文 .Net项目在Windows中使用sonarqube进行代码质量扫描的详细操作配置 描述如何导出PDF报告 众所周知&#xff0c;导出PDF功…

【数据结构】10.线索二叉树

一、线索二叉树的产生 采用先序、中序、后序三种方法遍历二叉树后都可以得到一个线性序列&#xff0c;序列上的每一个结点&#xff08;除了第一个和最后一个&#xff09;都有一个前驱和一个后继&#xff0c;但是&#xff0c;这个线性序列只是逻辑的概念&#xff0c;不是物理结…

如何合理设计一套springcloud+springboot项目中的各个微服务模块之间的继承关系的最优方案

文章目录 一、模块化设计所遵循的原则二、项目架构设计三、各个模块作用说明3.1 core 模块3.2 common 模块3.3 generatorcode模块3.4 business 模块3.5 web 模块3.6 admin 模块3.7 父pom 四、采用import引入SpringBoot 在springcloud微服务项目中经常用到多模块化的架构设计&am…