提升搜索体验!—— 推出 Elastic Rerank 模型(技术预览版)
作者:来自 Elastic Shubha Anjur Tupil

几分钟内即可开始使用 Elastic Rerank 模型:强大的语义搜索功能,无需重新索引,提供灵活性和成本控制;高相关性、顶级性能和文本搜索效率。
使用我们全新的先进跨编码器 Elastic Rerank 模型(技术预览版),将你的搜索体验提升至 11 级。重新排名模型可为任何搜索体验提供语义提升,而无需你更改数据架构,让你有空间在自己的时间和预算范围内探索其他语义相关性工具。
语义提升你的关键字搜索:无论你的数据今天存储、索引或搜索的位置或方式如何,语义重新排名都是一个简单的附加步骤,可让你通过语义理解提升现有的搜索结果。你可以根据需要灵活地应用此功能 - 无需更改现有数据或索引管道,并且你可以使用 Elastic 基础模型作为你的首选。
适合任何预算的选择灵活性:所有搜索体验都可以通过添加语义含义来改善,这通常通过使用密集或稀疏向量模型(例如 ELSER)来应用。但是,实现相关性目标并不需要一刀切的解决方案,而是需要混合搭配工具来平衡性能和成本。混合搜索就是这样一种选择,它通过使用 Elasticsearch 中的倒数排名融合 (reciprocal rank fusion - RRF) 将语义搜索与关键字搜索相结合来提高相关性。Elastic Rerank 模型现在是代替语义搜索增强搜索相关性的额外杠杆,让你可以灵活地优化相关性和预算。
我们最初在 serverless 上提供,但现在在 Elasticsearch 8.17 的技术预览版中可用,我们的模型的优势超过了当今市场上的其他模型。
高性能和高效:Elastic Rerank 模型优于其他明显更大的重新排名模型。它基于 DeBERTa v3 架构构建,并通过对多样化数据集的提炼进行了微调。我们的详细测试表明,在广泛的检索任务上提升了 40%,在问答数据集上提升了高达 90%。
相比之下,Elastic Rerank 模型在相关性方面明显更胜一筹,甚至与更大的模型相当。在我们的测试中,一些模型(例如 bge-re-ranker-v2-gemma)在相关性方面最接近,但在参数数量方面则大一个数量级。话虽如此,我们在 Open Inference API 中提供了集成,以便访问其他第三方重新排序程序,因此你可以轻松测试并亲自查看。

易于使用
Elastic Rerank 模型不仅具有出色的性能和成本特性,我们还使其非常易于使用,以提高词汇搜索的相关性。我们希望提供易于使用的原语,帮助你快速构建有效的搜索,而无需做出大量决策;从使用哪种模型到如何在搜索管道中使用它们。我们让它易于上手和扩展。
你现在可以将 Inference API 与 text_similiarity_reranker 检索器结合使用 Elastic Rerank。下载并部署后,每个搜索请求都可以处理完整的混合搜索查询,并在一个简单的 _search 查询中对结果集进行重新排序。
PUT _inference/rerank/elastic-rerank
{"service": "elasticsearch","service_settings": {"model_id": ".rerank-v1","num_allocations": 1,"num_threads": 1}
}
将 Elastic Rerank 模型集成到你的代码中非常容易,可以组合不同的检索器以将混合搜索与重新排名相结合。以下是使用 ELSER 进行语义搜索、使用 RRF 进行混合搜索并使用重新排名器对结果进行排名的示例。
GET retrievers_example/_search
{"retriever": {"text_similarity_reranker": {"retriever": {"rrf": {"retrievers": [{"standard": {"query": {"sparse_vector": {"field": "vector.tokens","inference_id": ".elser-2-elasticsearch","query": "Cobrai Kai was a homage to the greatest movie of all time!"}}}},{"knn": {"field": "vector","query_vector": [0.23,0.67,0.89],"k": 3,"num_candidates": 5}}],"rank_window_size": 10,"rank_constant": 1}},"field": "text","inference_id": "elastic-rerank","inference_text": "Which show continues the awesomeness of Karate Kid, the 1984 movie?"}},"_source": ["text", "topic"]
}
如果你拥有像我这样的有趣数据集,将对人工智能的热爱与 Cobrai Kai 结合起来,你将获得一些有意义的东西。
总结
- 仅限英语的跨编码器模型
- 语义提升你的关键字搜索,几乎不改变数据的索引和搜索方式
- 对与索引和搜索分离的语义提升成本有更大的控制和灵活性
- 重复使用你已经在 Elasticsearch 中拥有的数据
- 显著提高相关性和性能(与明显更大的模型相比,在大量检索任务中平均提高 40%,在问答任务中提高高达 90%,使用超过 21 个数据集进行测试,平均 nDCG@10 提高 +13 分)
- 易于使用,开箱即用;内置于 Elastic Inference API,易于加载和用于搜索管道
- 在我们的产品套件中提供技术预览,最简单的入门方式是使用 Elasticsearch Serverless
如果你想阅读我们如何构建它的所有细节,请访问我们的 Search Labs 博客。
Elasticsearch 包含许多新功能,可帮助你为你的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在本地机器上试用 Elastic。
更多阅读:介绍 Elastic Rerank:Elastic 的新语义重新排序模型
原文:cRank it up! - Introducing the Elastic Rerank model (in Technical Preview) - Elasticsearch Labs
相关文章:
提升搜索体验!—— 推出 Elastic Rerank 模型(技术预览版)
作者:来自 Elastic Shubha Anjur Tupil 几分钟内即可开始使用 Elastic Rerank 模型:强大的语义搜索功能,无需重新索引,提供灵活性和成本控制;高相关性、顶级性能和文本搜索效率。 使用我们全新的先进跨编码器 Elastic …...
【51单片机】程序实验1112.外部中断-定时器中断
主要参考学习资料:B站【普中官方】51单片机手把手教学视频 前置知识:C语言 单片机套装:普中STC51单片机开发板A4标准版套餐7 码字不易,求点赞收藏加关注(•ω•̥) 有问题欢迎评论区讨论~ 目录 程序实验11&12.外部中断-定时器…...
webrtc-java:引领Java进入实时通信新时代
webrtc-java:引领Java进入实时通信新时代 项目地址:https://gitcode.com/gh_mirrors/we/webrtc-java 在现代互联网应用中,实时通信(Real-Time Communication, RTC)已成为连接人们的桥梁。而说起RTC技术的先锋,不得不…...
TongWeb7-东方通快速使用手册
TongWeb7-东方通 快速使用手册 文章目录 第1章 TongWeb7 产品介绍 1.1 概述1.2 规范支持 第2章 TongWeb7 安装 2.1 TongWeb7 安装要求 2.1.1 TongWeb7 支持的操作系统2.1.2 系统要求2.1.3 其他 2.2 安装TongWeb72.3TongWeb7 目录结构说明2.4 TongWeb7 的启动和停止 第3章 应用…...
JVM内存区块
大家好,经过前两篇文章的介绍,大家对数组也有了一定了解,其实所有的数组都是对象,我们在方法中引用数组的变量叫做引用变量(简称引用),那么数组到底是存放在哪里的呢,为什么引用再出…...
C语言单元总结
黑色加粗表示刷题刷到这样的题 红色加粗表示可能重要 单元一 程序设计宏观认识 C语言程序框架 C语言程序最基本的程序框架由两部分构成,分别是 1) 编译预处理 2) 函数组 C语言程序构成 C程序最大的特点就是所有的程序都是用函数来装配的,函数是构成…...
通过PS和Unity制作2D动画之一:创建形象
1、通过路径画出轮廓 使用路径的过程中,需要注意: 1)如果使用形状工具作图,比如使用椭圆工具画正圆形,需要设置其属性为“路径”。 2)使用路径选择工具,再按住Alt键点击某个路径,可…...
Notable是一款优秀开源免费的Markdown编辑器
一、Notable简介 Notable是一款开源的跨平台Markdown编辑器,支持Linux、MacOS、Windows以及国产操作系统等多种主流操作系统。它以其高颜值和强大的功能,成为了许多用户的首选工具。 主要特性 实时预览: Notable提供了实时预览功能&…...
基于MFC绘制门电路
MFC绘制门电路 1. 设计内容、方法与难点 本课题设计的内容包括了基本门电路中与门和非门的绘制、选中以及它们之间的连接。具体采用的方法是在OnDraw函数里面进行绘制,并设计元器件基类,派生出与门和非门,并组合了一个引脚类,在…...
C—指针初阶(2)
如果看完阁下满意的话,能否一键三连呢,我的动力就是大家的支持与肯定,冲! 二级指针 我们先看概念以及作用:用来存放一级指针的地址的指针 先看例子,我们逐一分析 我们先分析上面那个“1” 标注那里&#x…...
Linux 基础环境的开发工具以及使用(下)
1. make / Makefile 自动化构建的工具 1)引入 在我们进行一些大型的工程的时候,代码量是极其大,当我们代码在进行一系列的编译的时候,难免会出现一些错误,当我们对错误进行一系列的更改之后,难道我们需要…...
constexpr、const和 #define 的比较
constexpr、const 和 #define 的比较 一、定义常量 constexpr 定义:constexpr用于定义在编译期可求值的常量表达式。示例:constexpr int x 5;这里,x的值在编译期就确定为5。 const 定义:const表示变量在运行期间不能被修改&…...
期末复习-Hadoop综合复习
说明 以下内容仅供参考,提到不代表考到,请结合实际情况自己复习 目录 说明 一、题型及分值 二、综合案例题-部署Hadoop集群 或 部署Hadoop HA集群 案例 1:Hadoop 基础集群部署 案例 2:Hadoop HA 集群部署 案例 3ÿ…...
禁用SAP Hana错误密码锁定用户功能
背景 公司项目适配多种数据库其中包含SAP Hana,由于有同事的数据库连接工具保存了某个在用的数据库的旧密码,导致时不时会被锁用户。通过查询官方文档已解决,这里统一记录一下。 禁用密码锁定方法 以下按系统管理员和普通用户的解法分别列…...
Ubuntu 22.04加Windows AD域
说明: Ubuntu 22.04系统通过realmd,sssd加入到 Active Directory 域,并为域用户配置sudo权限。同时为方便用户使用为Ubuntu系统安装wps与sogou中文输入法。 1. Ubuntu 22.04加入Windows AD域 1.1 首先配置网络,Ubuntu系统能…...
qt实现窗口的动态切换
先说一下整体思路。页面布局两个widget然后再将定时器和按钮关联起来。 定时器发出信号的时候,随着信号,不断地重新设置widget的宽度,实现窗口的动态切换。 具体操作如下: class QtWidgetsApplication4 : public QMainWindow {…...
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题② 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…...
【Vulkan入门】09-CreateFrameBuffer
目录 先叨叨git信息关键代码VulkanEnv::FindHostVisitbaleMemoryTypeIndex()TestPipeLine::CreateFramebuffers() 与网上大多数文章不同,其他文章基本上都使用窗口框架(X11、GLFW、WSL等)提供的surface来显示Vulkan渲染出的图像。我认为那样会…...
FPGA设计-Vivado的Off-Chip Termination设置问题
目录 简介: 设置规则: output strength(输出驱动器的电流驱动能力) slew rate(输出电压压摆率) Pull type(上下拉类型) On-chip termination(输入端/输出端的内置片上端接电阻) 输出端接电阻配置 简介: 经常遇到在FPGA设计时,很多人很迷惑这些关于硬件的终…...
GC常见垃圾回收算法,JVM分代模型
如何判断是垃圾?引用计数器和Root可达性算法 如何进行清除?标记清除、复制、标记整理 堆分代模型?Eden,Surevivor,Tenuring 一个对象从创建到消亡的过程? 对象什么时候进入老年代? 一、GC&a…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
