论文阅读_优化RAG系统的检索
英文名称: The Power of Noise: Redefining Retrieval for RAG Systems
中文名称: 噪声的力量:重新定义RAG系统的检索
链接: https://arxiv.org/pdf/2401.14887.pdf
作者: Florin Cuconasu, Giovanni Trappolini, Federico Siciliano, Simone Filice, Cesare Campagnano, Yoelle Maarek, Nicola Tonellotto, Fabrizio Silvestri
机构: 罗马大学, 以色列海法技术创新研究所, 比萨大学日期: 1 May 2024(v4)
读后感
在 RAG 系统中,检索和生成是独立进行的,使用的模型也不相同,检索和生成中任意一个部分效果不好都会影响最终结果。在检索部分,不一定必须使用稠密模型,因此作者考虑了密集和稀疏的情况;在生成部分,实验使用的是本地部署的较轻量级模型如 llama2 等,这也部分影响了效果。
作者的角度很有趣:查询所给出的答案可能是准确的、无关的或相关但不包含答案的。其中,相关但不包含答案的反而可能会导致最终结果偏差。在人的决策中也有类似情况:不怕完全不靠谱的信息,半真半假的更容易误导;如果只给我一个答案可能我还能不确定,如果附加一个完全不靠谱的答案与之对比,我反而更加确定。
粗看之下,在许多文档中定位与问题相关的文档,使用相似度方法似乎没有问题。至少它可以筛掉大多数完全无关的文档。然而,高相关性并不一定意味着包含正确答案。这可能需要生成模型来判断其中的逻辑关系,还需要考虑数据中根本不包含答案的情况。
摘要
目标:研究 RAG 系统中的检索策略,优化信息检索(IR)组件以提升生成式 AI 解决方案的效果。
方法:通过分析段落在提示上下文中的相关性、位置和数量等因素,评估不同检索策略对 RAG 系统中 LLM 表现的影响。
结果:发现检索时高得分但不包含答案的文档会降低 LLM 效果,而添加随机文档能将 LLM 准确性提高最多 35%。
1 引言
RAG 系统由两个基本组件组成:检索器和生成器。检索器负责调用外部信息检索(IR)系统,这些系统可以是密集型或稀疏型,并将选定的结果传递给生成器组件。本研究重点关注 RAG 的 IR 方面。
将查询返回的数据分为三类,并研究每个类别所带来的影响:
-
相关文档:包含可直接回答查询或提供相关信息的文档。
-
分散注意力的文档:虽然不直接回答查询,但在语义或上下文上与主题相关联。
-
随机文档:与查询没有任何关系,可以看作是检索过程中的信息噪音。
2 RAG
2.1 开放领域的问答
开放领域问答(OpenQA)是一项任务,旨在开发能够为自然语言中提出的各种问题提供准确且上下文相关答案的系统。这些系统不受特定领域或预定义数据集的限制。
常见的方法采用两步架构,通常包括检索器和推理器(通常是生成器)。首先,检索器找到与问题相关的文档,然后推理器生成答案。
2.2 检索器
检索器的目标是找到一个足够小的文档子集,以便推理者能正确回答查询。
密集检索需要将文本数据转化为向量表示,通常通过神经网络实现,常用的是基于 Transformer 的编码器,如 BERT。密集检索器处理查询 q 和潜在源文档 d,生成对应的查询嵌入和每个文档的嵌入。嵌入过程可以表示为:
其中,Encoderq 和 Encoderd 是基于神经网络的编码器,可能共享权重或架构,旨在将文本数据映射到向量空间中。一旦生成嵌入,检索过程就包括计算查询嵌入和每个文档嵌入之间的相似性。最常用的方法是使用点积得分。这个分数通过衡量嵌入向量空间中查询和文档的相似性来量化每个文档与查询的相关性,得分越高表示相关性越大。
2.3 推理器
推理器指的一般是生成器,它负责合成一个答案,通常通过调用 LLM 模型实现。在 RAG 中,生成语言模型将查询 q 和检索到的文档 Dr作为输入,通过顺序预测序列中的下一个词元来生成响应。
本文的目标是找到最好的文档集 D 检索器应该为生成器提供材料,以最大限度地提高系统的有效性。
3 实验方法
3.1 自然问题数据集
自然问题(NQ)数据集是从 Google 搜索数据中派生的真实世界查询的大规模集合。数据集中的每个条目都包含一个用户查询和一个相应的维基百科页面,其中包括答案。NQ-open 数据集是 NQ 数据集的一个子集。不同之处在于,它取消了将答案链接到特定维基百科段落的限制,从而模仿了类似网络搜索的更通用的信息检索场景。最终的数据集包含 21,035,236 个文档,训练集有 72,209 个查询,测试集有 2,889 个查询。
3.2 文档类别
按文档与查询的相关性,将文档分为四种类型:
-
黄金文档:用星表示。这类文档是数据集中的原始上下文,包含答案的维基百科页面段落,并且与给定查询的上下文相关。
-
相关文档:用锁链图标表示。这些文档类似于黄金文档,它们包含正确答案,并在上下文中对回答查询有用。它们提供了与查询正确且相关的其他信息源。黄金文件也是一种相关文件。
-
分散注意力的文档:用断开的锁链表示。这类文档有高检索分数但不包含答案。
-
随机文档:用色子表示。随机文档既不与查询相关,也不包含答案。有助于评估模型处理完全不相关信息的能力。
3.3 文档检索
实验使用了 Contriever 作为默认的检索器。Contriever 是一种基于 BERT 的密集检索器,通过对比损失进行无监督训练。为了提高在包含约 2100 万文档的语料库中的相似性搜索效率,我们采用了 FAISS IndexFlatIP 索引系统。每个文档和查询的嵌入是通过对模型最后一层隐藏状态的平均值得到的。
3.4 LLM 的输入
收到查询后,检索器会根据相似度度量从语料库中选择排名前 的文档。这些文档连同任务说明和查询一起,构成了 LLM 生成响应的输入。LLM 的任务是从提供的文档中提取一个最多包含五个词元的查询响应。如图所示,这个问题回答不正确。
3.5 测试的 LLM
在生成部分,测试了 base 和 instruct 版本,最终选用 instruct 版本,测试模型包含:Llama2-7B,Falcon-7B,Phi-2-2.7B,MPT-7B。
3.6 预价正确性
在 NQ-open 数据集中,每个查询可能有多个潜在答案,这些答案通常是同一概念的不同变体。在评估 LLM 生成的响应准确性时,采用一种检查响应中是否包含预定义正确答案的方法。这种评估方式是二进制的:如果存在正确答案,则认为准确,否则不准确。然而,有时这种方法无法识别同义的不同短语。
4 结果
4.1 分散注意力的文档的影响
随着上下文中分散注意力的文档数量增加,准确性会明显下降。这种模式在所有大型语言模型(LLMs)的情况下都能观察到。即使仅仅添加一个分散注意力的文档,也会导致准确性的急剧下降。
在现实世界的信息检索(IR)环境中,相关但不包含答案的文档很常见。实证分析表明,引入语义一致但不相关的文档会增加复杂性,可能误导 LLMs 做出正确响应。
如图所示:I 表示任务指令,Q 表示问题,星号表示黄金文档,断开的锁链表示分散注意力的文档。
从注意力的热力图中也可以看出,文本相似但不包含答案的文档分走了黄金文档的注意力。
(小编的理解:如果深度学习作为检索器,检索和生成模型基本上是类似的。在检索过程中找到文档的逻辑,同样适用于生成模型的逻辑。也就是说,在生成过程中,这些文档也被重视,从而分散了对黄金文档的注意力。)
为了验证这一假设,作者使用了 ADORE(Zhan 等,2021),一种通过“动态困难负样本”训练的先进检索器,来选择干扰文档。结果显示,情况依然相同。因此可以得出结论,区分相关信息和分散注意力的信息是一个难题,无法简单地通过改变现有的密集检索方法来解决。
4.2 黄金文档位置的影响
通过在上下文中移动黄金文件的位置来研究其对模型有效性的影响。将黄金文件的位置定义为 Far、Mid 和 Near,具体示例见表中的图示。
当黄金文档靠近查询时,准确性较高;当黄金文档离查询最远时,准确性较低;而当黄金文档位于上下文中间时,准确性最低。
(小编说:离得近更容易被注意到,而在中间时最不容易被忽略,这和长上下文模型的大海捞针结果也是一致的,可能由于训练数据的原因,让模型认为开头结尾的信息更为重要)
4.3 噪音的影响
评估 RAG 系统对噪声的鲁棒性。取黄金文件,并从语料库中随机挑选一定数量的文件添加到其中。性能没有下降,反而在最佳设置下有所改善。此外,不同模型表现出不同的行为。值得注意的是,与分散注意力的文档相比,这种性能下降的严重程度要低得多。
4.4 RAG 实践
给定一个查询,检索一组可能相关或分散注意力的文档。然后,我们将随机文档加入到这组检索到的文档中。使用 NQ 开放数据集的测试集。Llama2 的实验结果可以在表 3 左侧查看。
研究结果表明,无论检索到的文档数量如何,在填充上下文长度之前添加随机文档几乎总是有益的。特别是在检索到 4 个文档的情况下,准确率可提高 0.07(+35%)。
4.4.1 测试稀疏检索器
使用稀疏检索方法(特别是 BM25)复制了实验。相应的结果列在表 3 的右侧,随机文档也带来了提升。值得注意的是,使用 BM25 平均可使准确度提高 3-4 个百分点。这种改进归因于 BM25 检索到的文件质量。
(小编说:BM25 和 Contriever 各有优劣。BM25 是与数据集相关的,而 Contriever 虽然也是基于训练数据,但它的表示更通用。这至少表明,深度学习嵌入方法并不总是优于统计方法)。
4.4.2 提升随机性
随机文档从语气和风格截然不同的语料库中抽取,即 Reddit Webis-TLDR-17 数据集。观察到准确性有显著提高。即使将由随机单词组成的无意义句子视为随机文档,性能仍然有所提升。
4.5 权衡检索
在相关和完全不相关的文件数量之间似乎存在权衡。具体来说,实验发现,当最初检索到一组最少的文档,然后用随机文档补充,直到达到上下文限制时,可以获得最佳效果。检索 3 到 5 个文档是最有效的选择。添加更多文档会增加包含过多分散注意力内容的风险,从而适得其反。
对于如何解释加入噪声反而会提升模型效果,先前的研究提出,在某些情况下,过低的注意力熵会导致 LLM 产生退化输出,从而导致性能急剧下降。这些事件被称为熵坍缩。这里对比了加入随机文档前后的熵情况。引入随机文档时,系统的熵增加了 3 倍。
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/3422d4b79d44c46e8712a1d0dcb126af.webp?x-oss-process=image/format,png)
论文阅读_优化RAG系统的检索
英文名称: The Power of Noise: Redefining Retrieval for RAG Systems 中文名称: 噪声的力量:重新定义RAG系统的检索 链接: https://arxiv.org/pdf/2401.14887.pdf 作者: Florin Cuconasu, Giovanni Trappolini, Federico Siciliano, Simone Filice, Cesare Campag…...
![](https://img-blog.csdnimg.cn/direct/51c48e03ad3142a88ac6862cd76df1a1.png)
STC8/32 软硬件I2C通讯方式扫描I2C设备地址
STC8/32 软硬件I2C通讯方式扫描I2C设备地址 📄主要用于检测挂载在I2C总线上的设备。在驱动I2C设备之前,如果能扫描到该设备,说明通讯设备可以连接的上,在提前未知I2C地址的情况下,可以方便后面的驱动代码的完善。 🔬扫描测试效果:(测试mpu6050以及ssd1306 i2c oled )…...
![](https://img-blog.csdnimg.cn/direct/a2aee408f00341f8b70988ab1d50d237.png)
Linux——数据流和重定向,制作镜像
1. 数据流 标准输入( standard input ,简称 stdin ):默认情况下,标准输入指从键盘获取的输入 标准输出( standard output ,简称 stdout ):默认情况下,命令…...
![](https://img-blog.csdnimg.cn/img_convert/4e335a5c591f08b612c288d51bfecf67.png)
Windows 11的市场份额越来越大了,推荐你升级!
7月1日,系统之家发布最新数据,显示Windows 11操作系统的市场份额正在稳步上升。自2021年10月Windows 11发布以来,Windows 10一直占据着市场主导地位,当时其市场份额高达81.44%。然而,随着时间的推移,Window…...
![](https://www.ngui.cc/images/no-images.jpg)
微服务架构中的调试难题与分布式事务解决方案
微服务架构作为现代软件开发的一种主要趋势,因其灵活性、高可维护性和易于扩展的特点,得到了广泛的应用。然而,在享受微服务架构带来的诸多优点的同时,开发者也面临着一些新的挑战。调试的复杂性和分布式事务的处理是其中两个较为…...
![](https://www.ngui.cc/images/no-images.jpg)
银行家算法-操作系统中避免死锁的最著名算法
背景 有很多文章都会介绍银行家算法。在百度和CSDN上搜一搜能搜出很多来。很多同学会觉得这个算法很深奥,有些文章写的又很复杂,其实真的很简单。这里简单记录一下基本原理,然后大家再配合其他文章看,就能加深理解。 算法原理 …...
![](https://img-blog.csdnimg.cn/direct/d53f826b843d49e5a26cfcbe86d047e6.png)
PCL 基于点云RGB颜色的区域生长算法
RGB颜色的区域生长算法 一、概述1.1 算法定义1.2 算法特点1.3 算法实现二、代码示例三、运行结果🙋 结果预览 一、概述 1.1 算法定义 点云RGB区域生长算法: 是一个基于RGB颜色信息的区域生长算法,用于点云分割。该算法利用了点云中相邻点之间的颜色相似性来将点云分割成…...
![](https://img-blog.csdnimg.cn/direct/e72e651d964449a2942c62a5838ccc66.png)
cube-studio开源一站式机器学习平台,在线ide,jupyter,vscode,matlab,rstudio,ssh远程连接,tensorboard
全栈工程师开发手册 (作者:栾鹏) 一站式云原生机器学习平台 前言 开源地址:https://github.com/tencentmusic/cube-studio cube studio 腾讯开源的国内最热门的一站式机器学习mlops/大模型训练平台,支持多租户&…...
![](https://img-blog.csdnimg.cn/direct/e42a5c66b4844ba49663039fde171a5f.png)
1976 ssm 营地管理系统开发mysql数据库web结构java编程计算机网页源码Myeclipse项目
一、源码特点 ssm 营地管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开…...
![](https://img-blog.csdnimg.cn/img_convert/32d4007e42fe1ca98923779e80944141.png)
技术派全局异常处理
前言 全局的异常处理是Java后端不可或缺的一部分,可以提高代码的健壮性和可维护性。 在我们的开发中,总是难免会碰到一些未经处理的异常,假如没有做全局异常处理,那么我们返回给用户的信息应该是不友好的,很抽象的&am…...
![](https://www.ngui.cc/images/no-images.jpg)
对于mysql 故障的定位和排查
故障表现 他的执行时间超过规定的限制(比如1000ms)CPU使用率高大量业务失败,数据连接异常执行sql越来越慢,失败越来越多 解决方案 定位 应急 故障恢复 定位 查询慢sql的日志查看mysql 的performance schena(里面…...
![](https://img-blog.csdnimg.cn/36ff13f2a7b74ff6a85325f62280482f.jpg)
什么是电航空插头插座连接器有什么作用
航空插头概述 定义与功能 航空插头,又称航空连接器,是一种专门用于航空领域的电连接器,因其最初在航空领域得到广泛应用而得名。航空插头的主要功能是实现电源或信号的连接,尤其适用于芯数较多、结构复杂的线束连接,…...
![](https://img-blog.csdnimg.cn/direct/9d7f81d9c809468a9c79641d93c17f9d.png)
数据挖掘常见算法(分类算法)
K-近邻算法(KNN) K-近邻分类法的基本思想:通过计算每个训练数据到待分类元组Zu的距离,取和待分类元组距离最近的K个训练数据,K个数据中哪个类别的训练数据占多数,则待分类元组Zu就属于哪个类别…...
![](https://img-blog.csdnimg.cn/direct/5bf1b70bf0174cafbc79ee27586362f5.png)
【深度学习】调整加/减模型用于体育运动评估
摘要 一种基于因果关系的创新模型,名为调整加/减模型,用于精准量化个人在团队运动中的贡献。该模型基于明确的因果逻辑,将个体运动员的价值定义为:在假设情景下,用一名价值为零的球员替换该球员后,预期比赛…...
![](https://img-blog.csdnimg.cn/direct/5f9730fd547a4f6aa0c88d881c1e4506.png)
重生之算法刷题之路之链表初探(三)
算法刷题之路之链表初探(三) 今天来学习的算法题是leecode2链表相加,是一道简单的入门题,但是原子在做的时候其实是有些抓耳挠腮,看了官解之后才恍然大悟! 条件 项目解释 有题目可以知道,我们需…...
![](https://img-blog.csdnimg.cn/img_convert/2f3d0d5f8ceb09c5c15fc6eb2bdf4b08.jpeg)
哪吒汽车,正在等待“太乙真人”的拯救
文丨刘俊宏 在360创始人、哪吒汽车股东周鸿祎近日连续且着急的“督战”中,哪吒汽车(下简称哪吒)终究还是顶不住了。 6月26日,哪吒通过母公司合众新能源在港交所提交了IPO文件,急迫地希望成为第五家登陆港股的造车新势力…...
![](https://img-blog.csdnimg.cn/direct/77fb55146944499cb013f092bd75e2bc.jpeg)
HDC Cloud 2024 | CodeArts加速软件智能化开发,携手HarmonyOS重塑企业应用创新体验
2024年6月21~23日,华为开发者大会HDC 2024在东莞溪流背坡村隆重举行。期间华为云主办了以“CodeArts加速软件智能化开发,携手HarmonyOS重塑企业应用创新体验”为主题的分论坛。论坛汇聚了各行各业的专家学者、技术领袖和开发者,共同探讨Harmo…...
![](https://img-blog.csdnimg.cn/img_convert/018d47b8c4870bb8f3c5190562a7582a.png)
基于隐马尔可夫模型的股票预测【HMM】
基于机器学习方法的股票预测系列文章目录 一、基于强化学习DQN的股票预测【股票交易】 二、基于CNN的股票预测方法【卷积神经网络】 三、基于隐马尔可夫模型的股票预测【HMM】 文章目录 基于机器学习方法的股票预测系列文章目录一、HMM模型简介(1)前向后…...
![](https://www.ngui.cc/images/no-images.jpg)
PostgreSQL Replication Slots
一、PostgreSQL的网络测试 安装PostgreSQL客户端 sudo yum install postgresql 进行网络测试主要是验证客户端是否能够连接到远程的PostgreSQL服务器。以下是使用psql命令进行网络测试的基本步骤: 连接到数据库: 使用psql命令连接到远程的PostgreSQL数据库服务器…...
![](https://img-blog.csdnimg.cn/direct/ff84f5d5269c43438f91f4eb58e21e46.png)
centos7搭建zookeeper 集群 1主2从
centos7搭建zookeeper 集群 准备前提规划防火墙开始搭建集群192.168.83.144上传安装包添加环境变量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 启动 集群 准备 vm 虚拟机centos7系统zookeeper 安装包FinalShell或者其他shell工具 前提 虚拟机安装好3台cen…...
![](https://www.ngui.cc/images/no-images.jpg)
Arrays.asList 和 java.util.ArrayList 区别
理解 Java 中的 Arrays.asList 和 java.util.ArrayList 的区别 在 Java 编程中,Arrays.asList 方法和 java.util.ArrayList 是两种常用的处理列表数据的方式。虽然它们在功能上看起来相似,但在内部实现和使用上有着本质的不同。本文将探讨这两种方式的区…...
![](https://img-blog.csdnimg.cn/direct/d1bf00b502db4e02a801d72309f915e4.png)
代码随想录-Day44
322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数…...
![](https://img-blog.csdnimg.cn/direct/147338dce7f449c1b24f183d2217b2ca.png)
CriticGPT: 用 GPT-4 找出 GPT-4 的错误
CriticGPT 是 OpenAI 发布的一个基于 GPT-4 的模型,它可以帮助我们人类 Review 并纠正 ChatGPT 在生成代码时的错误。使用 CriticGPT 审查代码时,有 60% 的概率生成的代码更好更正确。...
![](https://img-blog.csdnimg.cn/direct/5ba93d5fe2904718b10184c22a0ba4e7.png#pic_center)
SpringBoot:SpringBoot中调用失败如何重试
一、引言 在实际的应用中,我们经常需要调用第三方API来获取数据或执行某些操作。然而,由于网络不稳定、第三方服务异常等原因,API调用可能会失败。为了提高系统的稳定性和可靠性,我们通常会考虑实现重试机制。 Spring Retry为Spri…...
![](https://www.ngui.cc/images/no-images.jpg)
2024-06-24 问AI: 在大语言模型中,什么是ray?
文心一言 在大语言模型中,Ray是一个开源的统一框架,用于扩展AI和Python应用程序,特别是在机器学习领域。以下是关于Ray的详细解释: 核心功能: Ray为并行处理提供了计算层,使得用户无需成为分布式系统专家…...
![](https://img-blog.csdnimg.cn/direct/59831d5083c146fda2291cb69e4c9f0c.png)
仓库管理系统09--修改用户密码
1、添加窗体 2、窗体布局控件 UI设计这块还是传统的表格布局,采用5行2列 3、创建viewmodel 4、前台UI绑定viewmodel 这里要注意属性绑定和命令绑定及命令绑定时传递的参数 <Window x:Class"West.StoreMgr.Windows.EditPasswordWindow"xmlns"http…...
![](https://www.ngui.cc/images/no-images.jpg)
在Spring Data JPA中使用@Query注解
目录 前言示例简单示例只查询部分字段,映射到一个实体类中只查询部分字段时,也可以使用List<Object[]>接收返回值再复杂一些 前言 在以往写过几篇spring data jpa相关的文章,分别是 Spring Data JPA 使用JpaSpecificationExecutor实现…...
![](https://img-blog.csdnimg.cn/direct/d9cdb09147304f51be640f85b62a52d6.png)
【UE5.1】Chaos物理系统基础——01 创建可被破坏的物体
目录 步骤 一、通过笔刷创建静态网格体 二、破裂静态网格体 三、“统一” 多层级破裂 四、“簇” 群集化的破裂 五、几何体集的材质 六、防止几何体集自动破碎 步骤 一、通过笔刷创建静态网格体 1. 可以在Quixel Bridge中下载两个纹理,用于表示石块的内外纹…...
![](https://img-blog.csdnimg.cn/direct/e440a15a1fd84d9cb4e12076f92fffd0.png#pic_left)
Linux下SUID提权学习 - 从原理到使用
目录 1. 文件权限介绍1.1 suid权限1.2 sgid权限1.3 sticky权限 2. SUID权限3. 设置SUID权限4. SUID提权原理5. SUID提权步骤6. 常用指令的提权方法6.1 nmap6.2 find6.3 vim6.4 bash6.5 less6.6 more6.7 其他命令的提权方法 1. 文件权限介绍 linux的文件有普通权限和特殊权限&a…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis主从复制搭建一主多从
1、创建/myredis文件夹 2、复制redis.conf配置文件到新建的文件夹中 3、配置一主两从,创建三个配置文件 ----redis6379.conf ----redis6380.conf ----redis6381.conf 4、在三个配置文件写入内容 redis6379.conf里面的内容 include /myredis/redis.conf pidfile /va…...
![](https://img-blog.csdnimg.cn/direct/bf6db630ddd0470088c35ad7ef83a47c.png)
GPT-4o文科成绩超一本线,理科为何表现不佳?
目录 01 评测榜单 02 实际效果 什么?许多大模型的文科成绩竟然超过了一本线,还是在竞争激烈的河南省? 没错,最近有一项大模型“高考大摸底”评测引起了广泛关注。 河南高考文科今年的一本线是521分,根据这项评测&…...
![](https://www.ngui.cc/images/no-images.jpg)
Lombok的hashCode方法
Lombok对于重写hashCode的算法真的是很经典,但是目前而言有一个令人难以注意到的细节。在继承关系中,父类的hashCode针对父类的所有属性进行运算,而子类的hashCode却只是针对子类才有的属性进行运算,立此贴提醒自己。 目前重写ha…...
![](https://www.ngui.cc/images/no-images.jpg)
关于springboot创建kafkaTopic
工具类提供,方法名见名知意。使用kafka admin import org.apache.kafka.clients.admin.*; import org.apache.kafka.common.KafkaFuture;import java.util.*; import java.util.concurrent.ExecutionException;import org.apache.kafka.clients.admin.AdminClient; …...
![](https://www.ngui.cc/images/no-images.jpg)
OOAD的概念
面向对象分析与设计(OOAD, Object-Oriented Analysis and Design)是一种软件开发方法,它利用面向对象的概念和技术来分析和设计软件系统。OOAD 主要关注对象、类以及它们之间的关系,通过抽象、封装、继承和多态等面向对象的基本原…...
![](https://www.ngui.cc/images/no-images.jpg)
Day47
Day47 手写Spring-MVC之DispatcherServlet DispatcherServlet的思路: 前端传来URI,在TypeContainer容器类中通过uri得到对应的类描述类对象(注意:在监听器封装类描述类对象的时候,是针对于每一个URI进行封装的&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
【面试系列】后端开发工程师 高频面试题及详细解答
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…...
![](https://img-blog.csdnimg.cn/direct/e16ab6d7d6d24c6c8fd004acd5bf2f06.png)
mac|浏览器链接不上服务器但可以登微信
千万千万千万不要没有关梯子直接关机,不然就会这样子呜呜呜 设置-网络,点击三个点--选择--位置--编辑位置(默认是自动) 新增一个,然后选中点击完成 这样就可以正常上网了...
![](https://img-blog.csdnimg.cn/direct/3f8ffefa813a45088830fbc8b611ccc9.png)
Spring Cloud Alibaba之负载均衡组件Ribbon
一、什么是负载均衡? (1)概念: 在基于微服务架构开发的系统里,为了能够提升系统应对高并发的能力,开发人员通常会把具有相同业务功能的模块同时部署到多台的服务器中,并把访问业务功能的请求均…...
![](https://img-blog.csdnimg.cn/direct/8f2db07d4b594a97a7bf9aeae0c9e0a7.png)
tkinter显示图片
tkinter显示图片 效果代码解析打开和显示图像 代码 效果 代码解析 打开和显示图像 def open_image():file_path filedialog.askopenfilename(title"选择图片", filetypes(("PNG文件", "*.png"), ("JPEG文件", "*.jpg;*.jpeg&q…...
![](https://www.ngui.cc/images/no-images.jpg)
000.二分查找算法题解目录
000.二分查找算法题解目录 69. x 的平方根(简单)34. 在排序数组中查找元素的第一个和最后一个位置(中等)...
![](https://img-blog.csdnimg.cn/direct/51aabd6d17b54b29b90e4e3ba366de4e.png)
数据资产赋能企业决策:通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企业提供决策支持,助力企业实现精准营销、风险管理、产品创新等目标,提升企业竞争力
一、引言 在信息化和数字化飞速发展的今天,数据已成为企业最宝贵的资产之一。数据资产不仅包含了企业的基本信息,还蕴含了丰富的市场趋势、消费者行为和潜在商机。如何通过精准的数据分析和洞察,构建高效的数据资产解决方案,为企…...
![](https://img-blog.csdnimg.cn/direct/d1a7f07b900d4fc88d832e5202b3740b.png)
【java开发环境】多版本jdk 自由切换window和linux
win10 一、准备 各种版本的jdk,按自己的需要下载。 我这里是需要jdk17和jdk8。 1、jdk17 下载:Java Downloads | Oracle,选择exe后缀文件 2、jdk8下 载:Java Downloads | Oracle,选择exe后缀文件 二、详细步骤 1、…...
![](https://img-blog.csdnimg.cn/direct/6b9183ea4aed448f9baa9cc05e3244aa.png)
MySQL实训项目——餐饮点餐系统
项目简介:餐饮点餐系统是一款为餐厅和顾客提供便捷点餐服务的在线平台。通过该系统,餐厅能够展示其菜单,顾客可以浏览菜品,并将其加入购物车或直接下单。系统还提供了订单管理功能,方便餐厅跟踪和处理顾客的订单。 1. …...
![](https://img-blog.csdnimg.cn/direct/cf26e38e5cb84d369f1ae1ef2be1bf93.png)
昇思MindSpore学习总结七——模型训练
1、模型训练 模型训练一般分为四个步骤: 构建数据集。定义神经网络模型。定义超参、损失函数及优化器。输入数据集进行训练与评估。 现在我们有了数据集和模型后,可以进行模型的训练与评估。 2、构建数据集 首先从数据集 Dataset加载代码࿰…...
![](https://img-blog.csdnimg.cn/img_convert/f3eb359cd4ea4f4c3678ae8d434d8622.jpeg)
AI时代创新潮涌,从探路到引路,萤石云引领千行百业创新
步入AI新时代,AI、云计算、大数据等技术迅速迭代,并日益融入经济社会发展各领域全过程,数字经济成为推动千行百业转型升级的重要驱动力量。 今年的政府工作报告提出,深入推进数字经济创新发展。积极推进数字产业化、产业数字化&a…...
![](https://img-blog.csdnimg.cn/direct/936ea29e2dad494d9cdff99120df2fb5.png)
计算机毕业设计Python深度学习美食推荐系统 美食可视化 美食数据分析大屏 美食爬虫 美团爬虫 机器学习 大数据毕业设计 Django Vue.js
Python美食推荐系统开题报告 一、项目背景与意义 随着互联网和移动技术的飞速发展,人们的生活方式发生了巨大变化,尤其是餐饮行业。在线美食平台如雨后春笋般涌现,为用户提供了丰富的美食选择。然而,如何在海量的餐饮信息中快速…...
![](https://www.ngui.cc/images/no-images.jpg)
【鸿蒙学习笔记】鸿蒙ArkTS学习笔记
应用开发导读:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5 这里写目录标题 基础组件通用属性容器组件Button 迭代完备 【鸿蒙培训】第1天・环境安装 【鸿蒙培训】第2天・装饰器・组件和页面…...
![](https://img-blog.csdnimg.cn/img_convert/de8927330ed49ab18af74ca040e1c17f.jpeg)
广东行政职业学院数据智能订单班开班暨上进双创工作室签约仪式圆满结束
为响应教育领域数字化与智能化浪潮这一变革,给学生提供更好的教育资源和实践机会,6月27日,“泰迪广东行政职业学院数据智能订单班开班仪式暨上进双创工作室签约授牌”在广东行政职业学院举行。广东行政职业学院智慧政务学院(电子信…...
![](https://www.ngui.cc/images/no-images.jpg)
python与matlab微分切片的区别
python python使用np中的linespace生成等间隔数值, import numpy as np numpy.linspace(start, stop, num50, endpointTrue, retstepFalse, dtypeNone, axis0)start:序列的起始值。stop:序列的结束值。如果 endpoint 为 True,该…...
![](https://img-blog.csdnimg.cn/direct/66ebf615dfdc4946bb081cf991dbd45e.png)
MSPG3507——蓝牙接收数据显示在OLED,滴答定时器延时500MS
#include "ti_msp_dl_config.h" #include "OLED.h" #include "stdio.h"volatile unsigned int delay_times 0;//搭配滴答定时器实现的精确ms延时 void delay_ms(unsigned int ms) {delay_times ms;while( delay_times ! 0 ); } int a0; …...
![](https://img-blog.csdnimg.cn/direct/d59804928db74943a8907fa4bd9fb934.png)
ora-15025 ora-27041问题处理
这个问题先排查 [oracleracdg2-2 ~]$ cd $ORACLE_HOME/bin [oracleracdg2-2 bin]$ ls -ld oracle -rwsr-s--x 1 oracle oinstall 239626641 Jun 25 19:09 oracle 正常的属组是 [gridracdg2-1 ~]$ setasmgidwrap -o /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle […...
![](https://img-blog.csdnimg.cn/direct/09148b1e58fc46b786b763a257efc36d.png)
Java面试题总结
Redis篇 什么是缓存穿透 ? 怎么解决 ? 缓存穿透是指查询一个不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。 解决方案有两种&…...
![](https://www.ngui.cc/images/no-images.jpg)
Symfony国际化与本地化:打造多语言应用的秘诀
标题:Symfony国际化与本地化:打造多语言应用的秘诀 摘要 Symfony是一个高度灵活的PHP框架,用于创建Web应用程序。它提供了强大的国际化(i18n)和本地化(l10n)功能,允许开发者轻松创…...
![](https://img-blog.csdnimg.cn/direct/85c837ef3078462d8aa505c515280392.png)
4、音视频封装格式---FLV
FLV FLV是一种容器封装格式,是由Adobe公司发布和维护的,用于将视频编码流与音频编码流进行封装。对于任意一种封装格式,都有其头部区域与数据区域,在FLV中,称之为FLV Header与Body。 对于FLV Header,一个FL…...
![](https://img-blog.csdnimg.cn/img_convert/8251a95de9e22430d40eda75a823f17a.webp?x-oss-process=image/format,png)
RAG技术下的文档智能检索
在数字化浪潮的推动下,信息检索已成为我们日常生活中不可或缺的一部分。然而,随着数据量的爆炸式增长,如何快速精准地从海量文档中检索出有价值的信息,成为了一个巨大的挑战。本文将带您走进 Pinecone 向量数据库的世界࿰…...
![](https://img-blog.csdnimg.cn/direct/0d9be13a094944fa97ac9a31118ecd87.png)
圈子系统搭建教程,以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP小程序H5
圈子是一款社区与群组的交友工具。你可以在软件内创造一个兴趣的群组从而达到按圈子来交友的效果用户可以根据自己的兴趣爱好。 1. 创建圈子 轻松创建专属圈子,支持付费型社群。 2. 加入圈子 加入不同圈子,设置不同名片,保护隐私。 3. 定…...
![](https://www.ngui.cc/images/no-images.jpg)
华为鸿蒙智行五一假期全系车型大定破11000台
随着五一假期的结束,华为智选车业务鸿蒙智行公布了整个假期的“销售成绩单”:5月1日-5 月5 日全系车型大定突破11000 台。在假期的前四天,也就是5月1日-4日,鸿蒙智行全系车型大定突破 8600 台,意味着 5月5日一天内新增了超过2400台的大定订单。根据此前公布的数据,鸿蒙智行…...
![](https://img-blog.csdnimg.cn/direct/ea3e1a82a05e4ad683c7695c5812f27c.jpeg#pic_center)
Linux驱动开发笔记(二) 基于字符设备驱动的I/O操作
文章目录 前言一、设备驱动的作用与本质1. 驱动的作用2. 有无操作系统的区别 二、内存管理单元MMU三、相关函数1. ioremap( )2. iounmap( )3. class_create( )4. class_destroy( ) 四、GPIO的基本知识1. GPIO的寄存器进行读写操作流程2. 引脚复用2. 定义GPIO寄存器物理地址 五、…...
![](https://www.ngui.cc/images/no-images.jpg)
为 AWS 子账户添加安全组修改权限
文章目录 步骤 1:创建 IAM 策略步骤 2:附加策略到子账户步骤 3:验证权限 本文档将操作如何为 AWS 子账户(IAM 用户或角色)添加修改安全组的权限,包括 AuthorizeSecurityGroupIngress 和 RevokeSecurityGr…...
![](https://www.ngui.cc/images/no-images.jpg)
C++进程间通信 匿名管道和命名管道
C进程间通信 匿名管道和命名管道 1. 匿名管道匿名管道概述匿名管道代码示例代码解释运行结果 2. 命名管道命名管道概述命名管道代码示例写入数据的程序(writer.cpp)读取数据的程序(reader.cpp) 代码解释运行步骤运行结果 匿名管道…...
![](https://img-blog.csdnimg.cn/img_convert/53a9b157865b410084c5031b26902b4a.png)
Python--List列表
list列表⭐⭐ 1高级数据类型 Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型) ●数字型包含:整型int、浮点型float、布尔型bool、复数型complex ●非数字型包含:字符…...
![](https://img-blog.csdnimg.cn/direct/8c34c0a85ce34a5885ae0e3428068c00.jpeg)
Google使用AI改进了 Sheets;开源视觉语言模型llama3v;开源情绪语音模型ChatTTS;
✨ 1: Google has improved Sheets with AI. Google 使用 AI 改进了 Sheets 您可以使用 Gemini 处理您的数据并将其变成老师。 优化您的数据 Gemini 了解您的数据并提出改进建议。 例如,它可以将重复数据转换为更实用的下拉框。 解释数据 通过单击双子座图标…...