基于SpringAI搭建的Rag系统调优分享-混合检索一
最近在进行rag调优的时候用到了混合检索混合检索就是通过关键字检索和向量检索相结合的一种检索方式这样可以让检索的文档更贴合实际需求。在这块儿调优的时候通过查询一些博客及算法论文对两个检索有了更新的认识我觉得能够实现这些检索算法的开创者真的是让人佩服所以把相关的算法技术原理分享出来让大家都了解下今天先来看下关键字检索。关键词检索关键词检索是根据文档和提示词是否有共同词汇来检索文档的技术基本思路就是包含提示词中大量词汇的文档更有可能是相关性更大的。它的处理如下1、首先把提示词Prompt和知识库的文档都视为词袋bag of words。词袋就是都是由一个个词语组成这也就意味着词的顺序是完全不关注的只关注文本中有哪些词语以及这次词语出现的频率。比如我们要搜索一个句子常见的月饼用的月饼馅料有哪些。首先是给这句提示词建一个稀疏向量这个稀疏向量怎么理解就是基于所有系统词汇列出来当然它的维度会很高甚至几万几十万的向量新建一个向量V这个向量V列表中的数字表示这个句子中的每个词出现的次数由于这个基于系统词汇copy的向量V大多数位置上存放的都是0所以称为稀疏向量。什么是系统词汇举个例子知识库所有文档的中文汉字词语组合简单理解放到一个数组中把这个数组当成向量这个向量的维度可能上百万这就是系统词汇。那么copy这个数组出来作为VV中一定会出现【常见、的、月饼、用、馅料、有、哪些】词基于这个提示词中每个词出现次数给它同样塞到向量中这句提示词总共有6个词剩余的可能得上百万词出现的次数都为0这么看这个V就可以理解为一个稀疏向量。结合后面的图片会很好理解2、把知识库的所有文档也创建为对应的稀疏向量每个文档都创建一个稀疏向量所有的文档对应的稀疏向量就可以合并为一个稀疏向量矩阵也称为词项-文档矩阵这个矩阵每一列表示一个文档每一行是不同的词语见下图这儿就出现了传说中的倒排索引。我们结合这个图来说明下什么是倒排索引从图中可以看到我们很容易的从一个词查找到包含这个词的所有文档。倒排索引汉字我觉得不如英文inverted index更好理解我们常规的情况是通过文档然后说文档包含了哪些词这是一个正向的常规的思维。但是从上图你可以反着来即从词出发找到哪些文档包含这些词。比如月饼出现在Doc1、Doc3、Doc4中即从词找到了文档。3、检索流程当检索器收到一个提示词prompt时就会为该提示词快速创建一个稀疏向量。这样知识库的所有文档和提示词都有了稀疏向量有了这些稀疏向量你就可以对文档进行评分和排序了。3.1最简单的处理方式就是文档包含词就获得积分提示词中的每个词都作为关键字以【常见的月饼用的月饼馅料有哪些】为例把这个prompt的按词切割然后循环下列处理比如拿关键词 “常见” 来说找到它对应的行然后遍历该行每个doc包含这个词就给它加一分后续其他各个关键词都如此操作打分完成后就可以对文档进行排序得分最高的文档就可以检索出来。Doc4 Doc1 Doc2 Doc3但是这个检索有个问题未考虑文档是否包含关键词出现的次数因为它是根据判断是否包含词包含1不包含0只关注包含与否未关注出现次数。但是一般情况下词多次出现就表示更高的相关性。所以就有了下面的改进方案V2见3.2所述。3.2文档中词出现多少次就加多少分。但是这个有个问题如果文章特别长那么对应的词出现的次数就特别多。比如一篇300字的作文介绍中秋节跟一篇80万字的风俗科普文章介绍中国传统节日那么后者可能在中秋上出现的次数更多。但是对于中秋关联性上可能前者更相关。为了解决这个问题所以就有了改进方案V3见3.3所述。3.3用文档的总词数除以文档的评分这样对于关键字占比更高的文档会优先检索到对于那些仅仅因为文章篇幅长所有关键词出现的稍多的文档就会降低优先级。score 关键字在Doc中出现的次数 / Doc的总词数量这就是常规的TF。但是V3也有问题对于一些助词比如“的”就会出现很多次但是它跟提示词关联性不大相对来说某个Doc中 月饼 馅料 出现很多次会跟提示词关联性更高。所以就有了改进方案V4。3.4为了解决助词的这种现象我们可以为词语进行加权。为了解决V3的问题V4引入了IDF指标即inverse document frequency。score TF * log(Total docs / Docs containing words)对于每个词统计它在多少文档中出现然后除以文档总数。比如如果你的知识库中有100份文档其中月饼出现在了5篇文档中它的DFdocument frequency就是 5/100 0.05像的这个词出现在100个文档中所以他的DF就是100/1001为了提升有效词的权重你取倒数翻转拿到IDF(inverse document frequency)所以月饼的IDF就是1/0.0520,【的】的IDF就是1/11这种简单处理会导致有效词的权重过高所以一般会取个log值log(5/100)1.3log1/10。这样每个IDF值就可以反馈Prompt拆分的词在知识库中的稀有程度。拿到IDF后再乘以每个词的TF分数作为最终分值这就是TF-IDF。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

从零开始理解 Agent:LangChain / LangGraph / DeerFlow 小白入门指南

从零开始理解 Agent:LangChain / LangGraph / DeerFlow 小白入门指南

这篇文章帮你搞懂三件事:Agent 到底是什么?三个热门框架是什么关系?怎么从零开始搭建一个 Agent 运行时? 一、先搞懂一个概念:Agent 不是 ChatBot 很多人把 Agent 和 ChatBot 搞混。区别其实很简单:ChatBot…

2026/7/23 2:52:22 阅读更多 →
企业部署AI Agent,90%踩的3个坑

企业部署AI Agent,90%踩的3个坑

Gartner说超过40%的智能体项目会在2027年前被砍掉。 我跟不少做了Agent项目的人聊过,发现一个规律:被砍的项目,踩的坑高度集中在三个地方。不是什么高深的技术难题,都是工程层面的基本功课没做扎实。但恰恰因为"基本"&…

2026/7/23 2:52:22 阅读更多 →
Windows下SRA Toolkit安装与高通量测序数据处理指南

Windows下SRA Toolkit安装与高通量测序数据处理指南

1. 为什么选择SRA Toolkit处理高通量测序数据高通量测序技术产生的原始数据通常存储在NCBI的SRA(Sequence Read Archive)数据库中。对于生物信息学初学者来说,如何高效获取这些数据是第一个需要跨越的门槛。SRA Toolkit作为NCBI官方提供的工具…

2026/7/23 2:52:21 阅读更多 →

最新新闻

AI编程 -- Agents.md 的简单示例

AI编程 -- Agents.md 的简单示例

Agents.md 添加新的规范 可以让 AI 编码工具添加新的规范。 甚至可以把 阿里巴巴java开发规范写到 Agents.md 中。 可以注明是所有,这样就不用反复地在新的工作区中声明。 示例: 在我的所有的Agents.md中添加这一条规范:XXX在我的所有工作区中…

2026/7/23 3:31:35 阅读更多 →
影刀RPA 网页反爬策略的识别与应对方法

影刀RPA 网页反爬策略的识别与应对方法

影刀RPA 网页反爬策略的识别与应对方法 作者:林焱 什么情况用这个 流程跑着跑着,突然就采集不到数据了——要么返回空列表、要么弹出验证码、要么直接跳转到错误页面。你不是被人为封禁了,是被网站的反爬系统给拦下来了。 反爬系统检测的不是…

2026/7/23 3:31:35 阅读更多 →
内容平台算法转向质量优先:技术创作者收益翻倍的优化策略

内容平台算法转向质量优先:技术创作者收益翻倍的优化策略

这次我们来看一个关于内容平台算法调整的重要变化。X算法最近转向质量优先策略,直接影响了创作者的收益模式。从多个渠道反馈看,这次调整让优质内容创作者的收益实现了翻倍增长,而低质内容的流量分配明显减少。这个算法变化的核心是从传统的互…

2026/7/23 3:31:35 阅读更多 →
UTM运行精简版Windows10:低配设备的虚拟化优化方案

UTM运行精简版Windows10:低配设备的虚拟化优化方案

1. 为什么选择UTM运行精简版Windows10?在低性能设备上运行Windows系统一直是技术爱好者的痛点。传统虚拟机如VMware Workstation或VirtualBox对硬件资源要求较高,而UTM作为一款轻量级虚拟化工具,完美解决了这个问题。UTM基于QEMU开发&#xf…

2026/7/23 3:31:35 阅读更多 →
ResNet-18与CIFAR-10实战:从原理到调优全解析

ResNet-18与CIFAR-10实战:从原理到调优全解析

1. 项目概述:当经典网络遇上经典数据集在计算机视觉领域,ResNet-18和CIFAR-10堪称黄金搭档。这个组合之所以经典,是因为它完美平衡了模型复杂度与任务难度——32x32像素的小尺寸图像分类,既不会让浅层网络力不从心,也不…

2026/7/23 3:31:35 阅读更多 →
AI个性化定制实战:从提示工程到RAG的完整技术指南

AI个性化定制实战:从提示工程到RAG的完整技术指南

AI个性化定制实战:从理论到工程落地的完整指南在当今AI技术快速发展的时代,越来越多的开发者发现标准化的AI模型难以满足特定业务场景的需求。无论是客服对话系统需要体现品牌个性,还是内容生成工具要适应不同用户的表达风格,AI个…

2026/7/23 3:30:35 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻