RAG高级优化:检索策略探讨Fusion, HyDE安排上(含代码)

传统的检索方法通常依赖于对query进行语义理解(基于向量)或关键字匹配(BM25),这两种方法都有其优点和缺点。融合检索、HyDE和RAG-Fusion可以创建一个更健壮和准确的检索系统。本文将介绍三种优化方法:

  • Fusion retrieval: 基于向量和基于bm25的检索

  • HyDE(假设文档嵌入) **:**通过根据查询生成和嵌入假设文档来增强检索。

  • RAG-Fusion **:**通过结合多次搜索迭代的结果来提高检索质量。

高级 RAG 技术介绍

Fusion Retrieval

融合检索是一种强大的文档搜索方法,它结合了语义理解和关键字匹配的优势。通过利用基于向量和BM25的检索方法,它为信息检索任务提供了更全面、更灵活的解决方案。这种方法在概念相似性和关键字相关性都很重要的各个领域都有潜在的应用,例如学术研究、法律文档搜索或通用搜索引擎。

实现方法:

  1. 接受一个查询,并执行基于向量和基于bm25的检索。

  2. 两种方法的得分归一化到一个共同的尺度。

  3. 计算这些分数的加权组合(由alpha参数控制)。

  4. 根据综合得分对文档进行排名,并返回前k个结果。

优点:

提高检索质量: 通过结合语义搜索和基于关键字的搜索,系统可以捕获概念相似度和精确的关键字匹配。
灵活性: alpha参数允许根据特定用例或查询类型调整矢量和关键字搜索之间的平衡。
健壮性: 组合方法可以有效地处理更大范围的查询,减轻单个方法的弱点。
可定制性: 该系统可以很容易地适应使用不同的矢量存储或基于关键字的检索方法。

实现图

下面的图表说明了流程(最后一部分给出了实现代码):

HyDE
HyDE 是什么?

HyDE 是一种创新方法,可增强密集检索,尤其是在零样本场景中。其工作原理如下:

  1. 查询扩展: HyDE 使用语言模型根据用户的查询生成假设答案或文档。

  2. 增强嵌入:这些假设文档被嵌入,从而创建了更丰富的语义搜索空间。

  3. 相似性搜索: 嵌入用于查找数据库中最相关的实际文档。

  4. 知情生成: 检索到的文档和原始查询用于生成最终响应。

实现图

下面的图表说明了 HyDE 流程:

RAG-Fusion

什么是 RAG-Fusion?

RAG-Fusion 是一种先进的技术,它将检索增强生成 (RAG) 与互易秩融合 (RRF) 相结合,以提高检索信息的质量和相关性。其工作原理如下:

  1. 查询扩展: 利用原始查询生成多个相关查询,为用户的问题提供不同的视角。

  2. 多次检索: 每个生成的查询都用于从数据库中检索相关文档。

  3. 倒数秩融合: 使用 RRF 算法对检索到的文档进行重新排序,该算法结合了多次检索尝试的排名。

  4. 增强 RAG: 重新排序的文档以及原始和生成的查询用于生成最终响应。

与传统 RAG 相比,这种方法有助于捕捉更广泛的背景和潜在的更多相关信息。

实现图

下面是说明 RAG-Fusion 工作流程的图表:

对RAG技术感兴趣,可以通过这本书全面学习。据了解这是目前第一本关于rag的书籍,很不错:

Fusion retrieval实战

加载依赖

在这里插入图片描述

bm25召回

在这里插入图片描述

混合召回

在这里插入图片描述
在这里插入图片描述

如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。

好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

内核驱动开发之系统移植

系统移植 系统移植:定制linux操作系统 系统移植是驱动开发的前导,驱动开发是系统运行起来之后,在内核中新增一些子功能而已 系统移植就四个部分: 交叉编译环境搭建好bootloader的选择和移植:BootLoader有一些很成熟…

有关shell练习

统计家目录下.c文件的个数 #!/bin/bash count0for file in ~/* doif [[ "$file" *.c ]]; then((count))fidone echo "家目录下.c文件个数为:$count"定义一个稀疏数组(下标不连续),写一个函数,求该稀疏数组的和,要求稀…

苹果、OPPO、小米的选择:聚焦TI AMOLED显示屏电源管理双子星芯片

如果说眼睛是心灵的窗户,那么显示屏就是计算机的窗户,通过这一扇窗,我们可以更直观的进行人机对话,更默契的与计算机配合。如今在各种产品的屏幕应用中,更多使用的是OLED显示屏,今天,平台君就给大家说说TI的两枚三路输出AMOLED显示器电源芯片——TPS65632和TPS65631W。 …

中高级工程师都需知道的七种高级 JavaScript 技术用例

直接干货走起: 1. 掌握闭包,让代码更简洁 闭包是 JavaScript 中最强大且经常被误解的功能之一。它们允许你使用私有变量创建函数,从而使你的代码更加模块化和更安全。 什么是闭包?当函数记住其词法范围时,即使函数…

ESP32 本地大模型部署语音助手

ESP32S3 Box 提供了 chatgpt 的 demo。因为访问不了的原因,打算改来做一个本地化部署的专用语音助手。 文章目录 准备工作Windows 安装 ESP-IDFWSL 安装 ESP-IDF配置 IDF编译 chatgpt demo串口映射下载 语音助手调试步骤遇到的问题在WSL2中,server.py 脚…

Vue3项目开发——新闻发布管理系统(八)

文章目录 十、新闻管理模块设计开发1、新闻管理主页面设计1.1 基本架构搭建1.1.1 搜索表单1.1.2 新闻主表格样式(静态数据模拟渲染)1.2 新闻分类选择框1.2.1 新建组件1.2.2 页面中导入渲染1.2.3 调用接口,动态渲染下拉分类,设计成 v-model 的使用方式1.2.4 父组件定义参数绑定…

供应链采购管理系统:开启智能采购新时代

在当今全球化的商业环境中,供应链管理的高效性和智能化对于企业的生存与发展至关重要。而供应链采购管理系统,尤其是智能采购系统,正成为企业提升竞争力的关键工具。 一、传统采购管理的挑战 传统的供应链采购管理往往面临着诸多难题。首先&a…

数据中心里全速运行的处理器正在浪费能源

数据中心是耗电大户,运营商一直在努力解决的一个关键问题是如何减少能源和资源消耗。人们已经找到了一些巧妙的解决方案,例如使用非饮用水来冷却设备,但一个显而易见的解决方案似乎被忽略了:启用处理器的各种省电功能。 随着需求的…

示例说明:sql语法学习

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准语言。学习SQL可以帮助你有效地查询、插入、更新和删除数据库中的数据。以下是SQL语法的一些基本概念和常用命令: 1. SQL基础语法 SQL关键字&am…

揭秘化工产品网络优化成本:性价比高的策略大公开

合作咨询联系竑图 hongtu201988 化工产品网络推广到底需要多少钱?为什么有些几千就行,有些需要几万甚至几十万不等?可以肯定地说:化工产品网络优化的费用并非一成不变,而是受到多种因素的影响。今天湖南竑图网络给大家…

ucosii+STM32 BLDC电机控制器设计 附源程序Proteus仿真

资料下载地址:ucosiiSTM32 BLDC电机控制器设计 附源程序Proteus仿真 嵌入式,现在把我的程序和设计思路分享给大家。 软件所用版本如下 Proteus版本 SP 8.7 STM32CubeMX 版本 5.4.0 HAL固件库版本 1.8.0 Keil 版本 uVison5 一、设计思路: …

如何构建出更好的大模型RAG系统?

ChatGPT爆火之后,以ChatPDF为首的产品组合掀起了知识库问答的热潮。 在过去一整年中,大多数人都在完成RAG系统到高级RAG系统的迭代升级。但是技术发展是迅速的,如何深入了解RAG的发展,做出更好的RAG系统,其实还是非常…

手术缝合线合格品检测项目众多 线径又是其重要一环!

手术缝合线的合格与否,关系着使用及恢复情况,其品质的优劣非常重要,而要想得到合格的手术缝合线,则需要多种类型的仪器进行检测。其中线径就是重要一环,下面来看看线径检测仪,并简单介绍一下其他所需检测信…

C++中stack类和queue类

感谢大佬的光临各位,希望和大家一起进步,望得到你的三连,互三支持,一起进步 数据结构习题_LaNzikinh篮子的博客-CSDN博客 初阶数据结构_LaNzikinh篮子的博客-CSDN博客 收入专栏:C_LaNzikinh篮子的博客-CSDN博客 其他专…

显示数量以及坐标区间

import re import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties# 动态加载字体文件 font_path /usr/local/sunlogin/res/font/wqy-zenhei.ttc # 替换为实际字体路径 my_font FontProperties(fnamefont_path)# 定义日志…

软件需求规格说明书编制模板参考(Doc原件)

1 范围 1.1 系统概述 1.2 文档概述 1.3 术语及缩略语 2 引用文档 3 需求 3.1 要求的状态和方式 3.2 系统能力需求 3.3 系统外部接口需求 3.3.1 管理接口 3.3.2 业务接口 3.4 系统内部接口需求 3.5 系统内部数据需求 3.6 适应性需求 3.7 安全性需求 3.8 保密性需…

个人量化成功之路-----从 Yahoo! Finance 下载交易策略数据

雅虎财经 是投资者最受欢迎的网站之一。它提供有关股票、债券、货币和加密货币的各种市场数据。它还提供市场新闻、报告和分析、期权和基本数据 官方的雅虎财经 API 于 2017 年被下架 Yfinance 是由 Ran Aroussi 开发的开源 Python 库,用于访问雅虎财经上可用的财…

mysql 报 ERROR 1273: Unknown collation: ‘utf8mb4_0900_ai_ci‘ 的处理

1、数据库sql是mysql8的导出的,本机上安装的还是5.7的版本,然后导入sql,直接就报错。 2、mysql的下载地址: MySQL :: Download MySQL Community Server 3、报错截图: 4、重新选择一个collation就可以了,…

气膜建筑的维护与维修:延长使用寿命的关键—轻空间

气膜建筑以其快速搭建、低成本和灵活的空间设计,被广泛应用于体育馆、仓储设施等多个领域。然而,随着时间的推移,气膜建筑的结构和材料在使用过程中不可避免地受到环境和使用条件的影响,因此定期维护和必要的维修显得尤为重要。了…