RAG与LLM原理及实践(12)--- Milvus RRFRanker的使用场景及源码分析
目录
背景
rrfRanker 简介与实例
核心逻辑
实例
蕴含思想
rrfRanker VS weightedRanker
rrfRanker
weightedRanker
场景使用区别
RRFRanker 使用场景
weightedRanker 使用场景
代码
代码实现
运行结果
修改代码
再次运行结果
源码
源码实现
解释
Ranker 可扩展实现
背景
本专栏虽focus在向量数据库及RAG,但是其编程理念和思想,如果你完全渗透,可以用到很多其他领域,比如实时推荐系统设计,分布式系统设计等。设计理念和编程思想我认为是搞编程首先需要领悟的,当然动手能力也很重要。二者结合,才能所向披靡,和大学讲的唯物主义辩证法差不多,以前觉得拿东西没啥用,想在细品,其思想精髓其实蛮深的。开始今天的主题吧。Milvus hybrid search 中,除了之前给出的weightedRanker进行多seq 排序,另外还有一种rrfRanker的综合排序手段。其实,你如果没有使用Milvus2.4.x 版本,如果你深入理解他的实现原理,照样可以在客户端封装函数实现这一过程。今天主要讲下 rrfRank的使用场景及方式,以及源码的实现方式。最后写下,实际上在 server端,你可以对 baseRanker 进行扩展,实现自己特殊的综合排序机制。当然milvus 在设计时,已经考虑了这点,在server 端留有充分的可扩展性,同时基于现在已有的weightedRanker 与 rrfRanker,实际上已经满足绝大部分落地需求。我将从实现的核心思想,使用,源码,及源码扩展方面进行讲解与说明。
rrfRanker 简介与实例
核心逻辑
RRF(Ranked Retrieval Fu
相关文章:
RAG与LLM原理及实践(12)--- Milvus RRFRanker的使用场景及源码分析
目录 背景 rrfRanker 简介与实例 核心逻辑 实例 蕴含思想 rrfRanker VS weightedRanker rrfRanker weightedRanker 场景使用区别 RRFRanker 使用场景 weightedRanker 使用场景 代码 代码实现 运行结果 修改代码 再次运行结果 源码 源码实现 解释 Ranker 可…...
Nginx与Tomcat的区别
Nginx与Tomcat的区别 —— 经验笔记 引言 在现代Web开发中,选择合适的服务器软件对于构建高性能、可靠的应用程序至关重要。Nginx 和 Tomcat 是两种常见的服务器软件,尽管它们都可以被归类为Web服务器,但它们的设计目标和应用场景有着本质的…...
LeetCode 3151.特殊数组 I
【LetMeFly】3151.特殊数组 I 力扣题目链接:https://leetcode.cn/problems/special-array-i/ 如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组 。 Aging 有一个整数数组 nums。如果 nums 是一个 特殊数组 ÿ…...
【产品那些事】The OX Active ASPM Platform
文章目录 前言关于OX Security产品理念 流程体验Complete Visibility:将安全无缝嵌入到SDLC中PBOMOSC&R coverageContextualized Prioritization:快速解决最关键的风险Accelerated Response:简化安全流程See Beyond the Code:…...
欢迪迈手机商城设计与开发
TOC springboot137欢迪迈手机商城设计与开发 绪论** 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化࿰…...
Endnote与word关联 解决方案: COM加载项-----》CWYW插件安装
1、首先说一下本次情况,office的版本是2019,后安装的Endnote 9。旧版word也可按此方法尝试。 2、先找到关键的EndNote Cwyw.dll文件。应在此目录下:C:\Program Files (x86)\EndNote X7\Product-Support\CWYW。 3、如没有EndNote Cwyw.dll文…...
用R语言运用 Shiny 包打造基于鸢尾花数据集的交互式数据可视化应用
下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容,每篇文章都在 5000 字以上,质量平均分高达 94 分,看全文请点击下面链接: 1章4节:数据可视化, R 语言的静态绘图和 Shiny 的交互可视化演…...
Upload-Lab第3关:如何巧妙应对黑名单文件后缀检测?
关卡介绍 在Pass03中,我们面临的挑战是绕过文件上传功能的黑名单检测机制。黑名单检测是一种常见的安全措施,它通过检查上传文件的后缀来阻止特定类型的文件(如 .php, .exe)被上传。在这一关,我们需要找到一种方法,上传一个可以执行的恶意文件,同时绕过黑名单检测。 …...
SSLVPN对比IPSECVPN安全设备的起源、发展、以及目前行业使用场景
前言 SSL VPN(Secure Sockets Layer Virtual Private Network)是一种利用SSL/TLS(Transport Layer Security,传输层安全)协议来创建安全连接的技术,它允许远程用户通过公共网络(通常是互联网&am…...
Hadoop大数据集群搭建
一、虚拟机配置网络 1、配置文件 进入“/etc/sysconfig/network-scripts”目录,查看当前目录下的“ifcfg-ens33”文件 对“ens33”文件进行配置 2、重启网络 systemctl restart network 3、测试网络 Ping www.baidu.com 4、设置虚拟机主机名称 5、绑定主机名和…...
【技术前沿】MetaGPT入门安装部署——用多个大语言模型解决任务!一键安装,只需填写OpenAI API
项目简介 MetaGPT 是一个多智能体框架,旨在构建全球首家 “AI 软件公司”。该项目通过为 GPT 分配不同的角色,模拟产品经理、架构师、工程师等职业,协同完成复杂的软件开发任务。MetaGPT 将一个简单的需求转化为完整的软件开发流程ÿ…...
#compsoer基本使用01#
Composer 是 PHP 的依赖管理工具,它允许开发人员管理和安装项目所需的依赖包。 1:查看Compsoer的全局配置命令 composer config -g --list --verbose 这个可以查看composer的镜像地址。例如 [repositories.packagist.org] type (string) : composer [repositor…...
基于c++的yolov5推理之前处理详解及代码(一)
目录 一、前言: 二、关于环境安装: 三、首先记录下自己的几个问题 问题:c部署和python部署的区别? 四、正文开始 4.1 图像预处理讲解 1、BGR---->RBG 2、等比例放缩图片(涉及到短边的填充) 3、归一化…...
Oracle(55)什么是并行查询(Parallel Query)?
并行查询(Parallel Query)是数据库管理系统中的一种查询优化技术,它允许数据库引擎同时使用多个处理器或线程来执行查询操作。通过将查询任务分解为多个子任务,并在多个处理器上同时执行这些子任务,可以显著提高查询的…...
关于 Lora中 Chirp Spread Spectrum(CSS)调制解调、发射接收以及同步估计的分析
本文结合相关论文对CSS信号的数学形式、调制解调、发射接收以及同步估计做了全面分析,希望有助于更好地理解lora信号 long-range (LoRa) modulation, also known as chirp spread spectrum (CSS) modulation, in LoRaWAN to ensure robust transmission over long d…...
Java - API
API全称"Application Programming Interface",指应用程序编程接口 API(JDK17.0)链接如下 : Overview (Java SE 17 & JDK 17) (oracle.com)https://docs.oracle.com/en/java/javase/17/docs/api/中文版: Java17中…...
力扣 3152. 特殊数字Ⅱ
题目描述 queries二维数组是nums数组待判断的索引区间(左闭右闭)。需要判断每个索引区间中的nums相邻元素奇偶性是否不同,如果都不同则该索引区间的搜索结果为True,否则为False。 暴力推演:也是我最开始的思路 遍历q…...
识别和缓解软件安全威胁的最佳工具
软件安全威胁会给企业带来重大损失,从经济损失到声誉受损。 企业必须主动识别和缓解这些威胁,防止它们造成危害。 幸运的是,有许多工具可以帮助企业识别和缓解软件安全威胁。 在本博客中,我们将探讨识别和缓解软件安全威胁的顶…...
Linux下的压缩与解压:掌握核心命令行工具
目录 一.前言 二.压缩文件概述 三.tar:Linux 的通用归档工具 常用 tar 命令 四.gzip:强大的压缩程序 常用 gzip 命令 五.zip 和 unzip:处理 ZIP 压缩文件 常用 zip 和 unzip 命令 实用技巧和最佳实践 六.结语 一.前言 在 Linux …...
BGP选路实验
要求: 1.如图连接网络,合理规格IP地址,AS200内IGP协议为OSPF; 2.R1属于AS 100;R2-R3-R4小AS234、R5-R6-R7小AS567,同时声明大AS 200,R8属于AS300; 3.R2-R5、R4-R7之间为联邦EBGP邻居…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
