RAG检索增强完全指南:解决文档切块断章取义的必备技巧(建议收藏)

RAG:2025年检索增强生成前沿技术完全指南 从实验室走向企业级应用,RAG正在重新定义AI系统的构建范式。它通过“检索增强生成”的核心理念,既保留了大语言模型的创造性,又赋予其可追溯、可验证的可信属性。到2025年,随着七大前沿技术的成熟落地,RAG将不再局限于工具层面的优化,而是成为驱动各行业智能化转型的核心引擎。 阅读详情

RAG系统中的文档切块会导致语义不连贯,影响检索完整性。文章分析了无法找到完美切块规则的原因,提出"上下文重排"和"上下文扩展+二次重排"解决方案,通过模拟人类阅读习惯,先定位关键段落再扩展上下文,有效提升检索完整性和准确性。实验证明该策略在长上下文问题中表现最佳,是突破"断章取义"瓶颈的有效路径。

尽管大语言模型本身的能力在快速演进,但它依然无法凭空获取训练数据之外最新或专有知识。

检索增强生成(RAG, Retrieval-Augmented Generation) 正是为解决这一问题而生:

在回答问题前,先从知识库中检索相关资料,再让模型参考这些资料生成答案。

换言之,RAG让大模型从“闭卷考试”变成了“开卷考试”。

但“开卷”也不一定更容易。如果检索到的资料不完整、不准确,能力再强的大模型也无法给出高质量答案。

因此,检索是RAG的关键,检索的效果取决于系统能否完整、准确地找到与用户问题最相关的内容。

1、 文档切块:不可避免的语义破坏

几乎所有RAG系统都遵循同一条技术路径:

文档解析 → 文本切块(Chunks) → 向量化 → 初步检索 → 精细重排 → 大语言模型生成

RAG系统流程图

由于检索模型的输入长度往往有限,“文本切块”就成为了必要的步骤。 文本块越小,语义匹配也就越精确。

但切块正是影响RAG检索质量的元凶。

为了适应模型限制,原本连贯的长文档被机械切分为多个独立片段,容易因语义缺失、语义歧义或全局结构信息丢失导致检索不完整。

以《中华人民共和国民法典》为例(点击查看原文档,下同),在固定长度切块策略下,第一百二十三条关于知识产权的定义会被切成两块:

当用户提问:**“根据知识产权定义,哪些对象可享有专有权利?”**时:

  • 文本块1因包含关键词“知识产权”,很容易被系统检索命中
  • 文本块2虽然包含条目内容,但由于缺失标题和上下文,语义匹配得分低,极有可能被检索系统忽略

最终大模型只回答了法条的前四项内容,而遗漏了后四项。

因切块导致的语义割裂,是 RAG 产生“回答不全”问题的根源。

2、为什么找不到完美的切块规则?

既然切块会导致断章取义,那能否通过优化切块规则解决问题?

答案是:很难,甚至不可能。

文档格式高度多样、内容结构千差万别,没有一种切块规则能够适用于所有文档。

例如,在《小学生满分作文》中,包含题目、作者、点评等多种非统一格式元素,想用规则自动将完整作文切块非常困难。

《小学生满分作文》石元达作文原文

更重要的是,切块的“合理性”是相对于“提问”而言的。

在用户提问之前,我们根本不知道哪种切块方式是最优的。

以《深圳市前海一方恒融商业保理有限公司2024年度第二期华发优生活四号资产支持票据募集说明书》(简称《募集说明书》)为例,

当用户提问:“华发股份董事会有多少位董事?”

相关的内容文档中有两段:

  • 第179页:“公司设董事会,由9名董事组成…”
  • 第522页:“公司董事局由十四名董事组成…”

《募集说明书》第179页

但问题在于,仅看这两段,无法判断两处“公司”具体所指的对象。

我们还要依据第132页“共同债务人一:华发集团”和第499页“共同债务人二:华发股份”,才能确定:

第179页的**“公司”,指的是“华发集团”**;

第522页的**“公司”,指的是“华发股份”**。

依据这个问题,理想的切块需要将第132-179页(共48页)切到一个文本块,第499-522页(共24页)切到另一文本块。

但这样大块的内容往往超出了检索模型的可处理长度;同时,切得过粗也会削弱对其他细节类问题的回答精度。

所以:并不存在能适应所有未来提问的“十全十美”的静态切块方案。

只要切块存在,语义连贯性的破坏就不可避免。

3、上下文重排:优势及盲区

既然无法从优化切块上解决问题,我们能否在检索阶段进行补救?

当前主流检索方案采用“逐个评估” 方式,检索模型单独判断一个文本块与查询的相关性,从而忽视了切块造成的上下文问题。

为此,我们提出了“上下文重排”模式。

传统重排方式与长上下文重排方式比较

不同于传统重排模型“一次只给一个切片打分”、需要多次独立输入的模式,上下文重排采用“整体评估”模式:

将初步检索到的多个候选文本切片去重、按原文顺序拼接,组成一段包含完整上下文的连续长文本(例如60k tokens,依据硬件配置长度有所不同),一次性输入给重排模型。

这样,重排模型能够感知检索内容间的语义关联,更准确地评估各部分内容与提问的相关性。

回到《民法典》的例子:

当初步检索召回文本块1和2后,重排模型将两个文本块作为整体输入,理解了文本块2的前半部分是文本块1的延续,最终将“知识产权”对应的法规完整返回。

上下文重排流程

但这一方案并非一劳永逸。

如果文档较短,初步检索返回的结果能完整放入60k tokens的上下文窗口,那上下文重排的确能直接解决问题;

但当文档很长,初步检索返回的候选内容长度超过60k tokens时,我们不得不在重排前再做一轮筛选,而这依然可能导致关键信息遗漏。

换言之,上下文重排的效果,其实取决于初步检索是否把关键切片“捞回”。

例如,在《小学生满分作文集》中,石元达的作文被切分成四个文本块。

对于提问:“石元达的作文全文是什么?”

初步检索的60k内容中只包含文本块1和2、传统重排仅能召回文本块1。

引入上下文重排模型后,成功召回了文本块1和2,但文本块3和4仍然缺失。

文本块3和4在初步检索阶段因语义相似度较低被过滤掉,部分相关内容在初步检索阶段就被永久丢失。

4、上下文扩展:让RAG像人类一样“扫视”

为了解决这个问题,我们不妨先回顾一下:

在RAG技术出现之前,人们是如何从文档中获取知识的?

在传统搜索引擎中,系统只需按相关性排序返回片段列表,用户会自行阅读、判断、前后翻阅,从而补全上下文信息;

而在RAG系统中,由于检索结果面向大模型,大模型无法“主动翻页”或“扫视前后文”,只能基于给定片段生成答案。

一旦关键上下文缺失,错误或不完整的回答几乎不可避免。

因此,RAG对检索结果的完整性要求远高于传统搜索引擎。

它不能依赖“用户智慧”来弥补缺口,必须通过检索机制自身来确保信息的充分性。

  • 上下文扩展+一次重排

为了有效实施上下文扩展,我们起初尝试直接依据初步检索阶段的向量相似度分数来决定扩展策略:

向量相似度越⾼的⽂本块,扩展范围越⼤,周围文本被纳入候选集合的可能性也越高。

此时RAG系统的检索流程如下:

上下文扩展+上下文重排

该策略对检索完整性的提升较为有限——许多关键但未被初步检索召回的文本块,依然未能通过上下文扩展被有效补充。

例如,在“石元达的作文”案例中:

  1. 初步检索仅召回文本块1和2
  2. 对文本块1和2进行上下文扩展
  3. 由于文本块1和2的分数较低,仅文本块3纳入候选集合,文本块4并未被包含进候选集合
  4. 文本块1、2与3输入重排模型
  5. 文本块1-3输入大模型,生成回答中遗漏文本块4

可见,上下文扩展并不能盲目地“多拿一点”,而是需要先精准识别关键片段,再有针对性地扩展其上下文。

  • 上下文扩展+二次重排:先识别后扩展

对此,我们提出“上下文扩展+二次重排”方案,引入两阶段重排机制:

  1. 第一次重排:使用上下文重排模型对初步检索结果进行精确评分
  2. 上下文扩展:基于重排得分,对高分文本块进行扩展——将其在文档中相邻但未被召回的前后文本块纳入候选集。得分越高,扩展范围越大
  3. 二次重排:对扩展后的候选集再次重排,筛选出最终输入大模型的最优内容

这一流程赋予了RAG系统类似人类的“扫视”能力:

先定位最相关的关键段落,再对其上下文扩展,最终结合更完整语境判断相关性。

上下文扩展+二次重排

回到“石元达的作文”案例:

  1. 初步检索仅召回文本块1和2
  2. 第一次重排后获得较高分数
  3. 上下文扩展将相邻的文本块3和4一并纳入
  4. 第二次重排识别全部内容
  5. 最终文本块1-4输入大模型,生成准确完整的回答。

可以看到,经过“上下文扩展+二次重排”,RAG系统具备了更强的语义连贯性感知能力。

5、实验评测

为验证所提出策略的有效性,我们在50篇长文档上构建了包含855个问题的评测集,平均每个问题涉及11.3个相关段落。

三种检索流程对比

在实验中,我们采用统一的文档解析与切分策略,并使用 BGE-M3 向量模型进行初步检索。

随后,对各类重排模型与重排流程进行了系统评估:

  • no_rerank:直接使用初步检索的向量召回结果,不进行任何重排;
  • bge_rerank:采用 BGE-M3 重排模型(“逐个评估”模式),对每个候选文本块与查询进行独立相关性评估;
  • jina_rerank:采用 Jina-Reranker-v3 模型(“整体评估”模式),作为业界公认性能领先的长上下文重排模型,能够联合评估所有候选文本块与查询的整体相关性;
  • context_rerank:采用庖丁长上下文重排模型(“整体评估”模式),联合建模查询与全部候选文本块,按照图6所示的“流程一:直接重排”方案执行;
  • extend_rerank:基于庖丁长上下文重排模型,按照图6所示的“流程二:扩展后重排”方案执行;
  • rerank_extend_rerank:在庖丁长上下文重排模型的基础上,按照图6所示的“流程三:重排–扩展–重排”方案执行。

对比六种方案,我们分别截取1k、5k 和 10k tokens 的上下文作为最终召回结果,并计算其与人工标注结果之间的召回率。

不同上下文长度下的平均召回率

实验结果表明:

  1. 对于依赖长上下文的问题,“整体评估”形式的重排模型显著优于”逐个评估“的重排模型;
  2. “上下文扩展 + 二次重排”策略能够进一步提升召回完整性,在全部召回长度下均取得最佳性能。

6、总结

在RAG系统中,文档切块是绕不开的工程妥协,但它带来的语义碎片化是检索完整性的最大敌人。

我们提出的****“上下文扩展与二次重排”****策略,本质上是让RAG系统模仿人类的阅读习惯:

不只看孤立的片段,更要基于线索去扫视周围的语境。

这种方法并未改变切块的规则,而是改变了检索的逻辑,以极低的成本有效弥补了信息缺口。

对于追求高精度、高完整性的企业级RAG应用而言,这或许是突破“断章取义”瓶颈的最有效路径。

7、实战应用

“上下文扩展与二次重排”技术,现已在ChatDOC Studio正式发布上线!

您可以通过PC端访问https://chatdoc.studio/ ,体验不同方案的实际效果。

ChatDOC Studio 提供多种服务形态,您可通过网页端即时检索,也可通过API调用与任意业务系统集成。

我们仍以石元达作文为例,对比上文不同检索模式的实际表现:

“Basic(初步检索后直接输入)”模式检索结果

“Contextual(上下文扩展+上下文重排)”模式检索结果

能够看到,无论是选用“Basic(初步检索后直接输入)”还是“Contextual(上下文扩展+上下文重排)”模式,在6k token长度下,系统仅能检索召回包含石元达姓名的文本切片**(黄色高亮显示)**,而在检索步骤中就遗漏了所需要的关键信息。

“Expanded(上下文扩展+二次重排)”模式检索结果

而选择“Expanded(上下文扩展+二次重排)”模式时,可以看到,同样token长度下,石元达作文全文被完整召回**(黄色高亮显示),**证明“上下文扩展+二次重排”在实际应用中具备显著提升检索完整性的优势。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

img


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

在这里插入图片描述

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

img

适用人群

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

手把手实战RAG踩坑必备指南——5种切块策略 RAG谁懂原理,谁都会搞,但是谁都搞不明白。这是RAG技术的典型实现流程。检索增强生成(RAG):将额外的信息存储为向量,把传入的查询与这些向量进行匹配,然后将最相似的信息连同查询一起提供给大语言模型(LLM)。由于额外的文档可能相当长,第一步还包括分块操作,即将一个长文档分割成更小、更易于处理的片段。这一步至关重要,因为它确保文本符合嵌入模型的输入大小要求。此外,它还提高了检索步骤的效率和准确性,而这会直接影响生成回复的质量。 阅读详情

相关推荐

LLM在RAG文本切块中的应用与实践

为了获得最佳的切块结果,建议尝试多次切块运行,每次传递给切块器的块大小都不同。每次尝试后,应审查结果,以确定哪种方法最适合所需的结果。通过这种方法,我们可以更有效地利用LLM来创建由独立元素组成的知识库,这些元素可以相互关联,而不会在同一个切块中重叠不同的概念。LLM 对文本切块是一个复杂但有意义的过程,它为自然语言处理中的文档分析和知识管理提供了新的思路和方法

llm_way的博客 939

RAG入门指南:检索增强生成全解析

RAG(检索增强生成)是一种让大模型在回答问题前先检索相关资料的技术,解决模型对私有资料、新知识和专业内容无法准确回答的问题。其流程包括:文档切块(Chunk)→文本向量化(Embedding)→存储到向量库→用户提问向量化→检索相似内容→结合上下文生成答案。关键点在于合理切分文档(大小适中、语义完整)、使用向量库进行语义检索,以及让模型基于检索内容而非记忆作答。该技术通过"开卷考试"模式显著提升回答准确性,降低幻觉风险。实践时需注重文档预处理、检索质量和提示词设计,而非单纯依赖模型能力

weixin_52611737的博客 1万+

RAG文档切块:构建语义完整、可检索的最小语义单元

文档切块是RAG系统效果的底层基石,本质并非简单文本分割,而是对业务文档隐式语义结构(如条款编号、标题层级、表格边界)的建模与还原。其核心原理在于识别并尊重作者埋设的语义锚点,将原文本转化为独立、完整、可精准召回的最小可检索语义单元。这一过程直接决定向量检索的准确率与答案可追溯性,技术价值体现在降低幻觉、提升Recall@5、支撑合规审计等关键场景。典型应用覆盖金融合同条款提取、医疗指南问答、制造业SOP检索等强结构化文档处理任务。RAG落地失败的主因往往不在模型或数据库,而在于切块环节对语义完整性与结构保

weixin_33158887的博客 307

【收藏必备】RAG技术完全指南:让大模型更精准的检索增强生成详解

RAG(检索增强生成)是一种优化大模型输出的技术,通过引入外部知识库使模型在生成响应前引用权威信息,解决大模型可能产生虚假信息、知识过时等问题。文章详细介绍了RAG的定义、重要性、优势、工作原理、三种形式(朴素RAG、增强RAG、模块化RAG)及其演进过程,探讨了检索优化策略、增强生成方法及未来发展方向,为理解和应用RAG技术提供了全面的指导。

2401_85154887的博客 1062

Ubuntu18.04 SoftRoCE安装教程

目标:创建两台Ubuntu18.04虚拟机,安装SoftRoCE环境,一台作为Server,一台作为Client,模拟RDMA通信环境,熟悉RDMA的通信方式。

GGGYL111的博客 1549

DNN加速器脉动阵列轻量级瞬时故障检测

本文系统综述了面向深度神经网络(DNN)脉动阵列加速器的轻量级瞬时故障检测技术。通过分析比较算法级校验(ABFT)、数值异常监测(剪裁、中值滤波等)、硬件编码检错(AN码、剩余码)以及选择性冗余等方案,指出这些方法能以5%-10%的开销实现对权重和激活比特翻转的高效检测,远低于传统ECC/冗余计算的成本。研究显示,结合多种轻量技术可构建多层防护体系,在保障推理可靠性的同时保持加速器的高性能特性。该成果为安全关键领域的DNN加速器设计提供了重要参考。

欢迎交流! 1074

爆改RAG检索:用命题切块让你的AI检索“刀刀见血”!

命题切块不是银弹,但绝对是RAG检索的“质变利器”。它让你的AI系统从“糙汉子”变成“绅士狙击手”,每次检索都能直击用户问题的核心。当然,命题切块也有门槛——大模型API费、提示词调优、命题质量控制都需要投入。但只要用得好,绝对能让你的RAG系统在“准确性、相关性、简洁性”上全面升级。“与其大海捞针,不如精准狙击。让我们一起用命题切块,把AI检索做得更聪明、更高效、更优雅!你还在用传统切块做RAG吗?快来评论区聊聊你的痛点和想法,咱们一起升级AI检索的“武器库”!

许泽宇的技术分享 922

红外气体检测方案解析:从NDIR原理到物联网终端设计实践

气体检测是工业安全与环境监测的核心需求,其技术原理主要基于气体分子对特定物理或化学信号的响应。非色散红外(NDIR)技术作为一种物理检测方法,通过测量气体分子对特定波长红外光的吸收来定量浓度,因其不依赖化学反应,具备寿命长、抗干扰强和响应快等优势。在工程实践中,红外气体检测方案的价值在于为物联网终端设备提供了高可靠、低功耗的感知能力,广泛应用于工业过程监控、环境空气质量监测以及智能家居安全预警等场景。本文以一套集成了Microchip MCU、Axetris红外光源和Pyreos热释电传感器的参考设计为例,

weixin_30954817的博客 393

建议收藏:程序员必学!从RAG到Graph RAG,大模型检索增强技术完全指南

本文系统介绍了RAG、Graph RAG和Agentic RAG三种AI技术。RAG使大模型能实时获取外部信息,提升时效性与准确性;Graph RAG结合知识图谱,赋予AI理解多领域知识间联系的能力,支持复杂推理;三者各有优势,适用于不同场景,为AI应用与投资决策提供思路。掌握这些技术有助于专业人士精准把握各自特点,优化AI应用策略。

2401_85375186的博客 1423

Marvell车载以太网交换机芯片88Q5050

Marvell推出了四款车载用交换机芯片,88Q5050,88Q5050, 88Q5072和88Q6113。其中88Q5030有5 Port用于通信,88Q5050有8 Port用于通信,5072与6113有11 Port用于通信。由于项目中用到了88Q5050,所以本文中只涉及到88Q5050的内容。本文是对使用88Q5050的梳理和总结。

zhuwade的博客 2万+

华为OD机试真题2025双机位A卷 C语言 实现【采购订单】

在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。

MISAYAONE的博客 351

收藏必备:RAG检索增强生成技术,让大模型更可靠更实用

本文详细介绍了RAG检索增强生成技术,通过结合信息检索与生成模型,解决传统大模型知识更新不及时、产生"幻觉"和答案难以追溯等问题。RAG采用"先检索后生成"模式,从外部知识库获取最新信息再生成回答,提高时效性、准确性和可解释性。文章解析了RAG系统运作流程,包括问题向量化、知识检索、文本重排序和答案生成等环节,并探讨不同文本切块策略和向量搜索算法,为企业提供低成本、灵活部署的解决方案。

kaka0722ww的博客 1110

Codex 接入国产大模型指南:客户端与 CLI 双端实战

CC Switch是目前最流行的 Codex / Claude Code 模型切换工具,内置了协议转换功能,支持几乎所有主流国产模型。核心原理Codex → 本地 8317 端口(CC Switch)→ 协议转换 → 国产模型 API整个过程对 Codex 完全透明,Codex 以为自己在跟标准的 Responses API 对话。用户类型推荐方案理由新手 / 不想折腾配置简单,免费额度够用追求稳定体验通义千问(原生接入)官方兼容,功能最完整企业用户自建 AI 网关可控性强,支持多用户管理预算有限。

篮球界最会写bug的人;程序猿中打球最菜的人。 575

6阶段实现最强RAG 模块化检索增强 实践指南

通过RAG检索增强生成,补充大模型的能力,是当前AI应用热点方向,带你一次读懂的实践要点,帮AI应用系统开发者快速落地 🔥。

酌沧 1231

Spring AI提示词模板应用

本文介绍了使用SpringAI提示词模板的配置方法,主要步骤包括:1)在JDK17和SpringBoot3.4.4环境下引入spring-ai-alibaba1.0.0.2依赖;2)配置application.yml文件;3)创建测试控制器类处理提示词模板(.st文件);4)通过模板变量动态生成AI回复内容。演示了如何通过@RequestParam设置默认参数,实现无需前端传参即可测试AI回复功能,最终完成了一个SpringAI提示词模板的应用Demo。

wjianwei666的专栏 198

卫星遥感影像处理:地物分类与变化检测

卫星遥感影像处理:地物分类与变化检测​ ,人工智能,计算机视觉,大模型,AI,卫星遥感技术通过搭载在卫星上的传感器获取地球表面的电磁波信息,为地物分类与变化检测提供了宏观、动态的观测数据。随着高分辨率遥感卫星(如高分系列、哨兵系列)的发展,遥感影像的空间分辨率、光谱分辨率和时间分辨率不断提升,为精准地物识别和动态变化监测奠定了基础。地物分类旨在将遥感影像中的像元按地表覆盖类型(如植被、水体、建筑、农田等)进行分类,而变化检测则通过对比不同时期的影像,识别地表覆盖的变化区域(如城市扩张、森林砍伐、土地退化等)

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

RAG检索增强生成完全指南:从原理到实现,一篇搞定,建议收藏

RAG技术通过检索与生成两阶段流程,解决大语言模型的"幻觉"问题。文章详解语义检索原理、向量表示与embedding技术、向量知识库构建、文本分块策略、向量索引优化及重排序技术,并探讨问答系统优化策略,包括用户问题重写、提示工程优化、安全防御和用户反馈闭环。同时提供混合搜索、缓存机制等多种优化建议,帮助开发者构建高效、准确的RAG系统。

2401_85154887的博客 1090

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

RAG(检索增强生成)学习路径全解析:从入门到精通

RAG(检索增强生成)技术作为结合了信息检索和生成式模型的方法,正在人工智能领域发挥越来越重要的作用。通过提供的高质量中文文章资源,学习者可以系统地掌握RAG技术的原理、实现和应用,从初学者到高级开发者都能找到适合自己的学习路径。从基础概念到高级技术,从入门教程到实际应用,从框架工具到最新研究,这些资源涵盖了RAG技术的各个方面,为学习者提供了全面的学习指南。希望这些资源能够帮助学习者在RAG技术领域取得长足进步,为人工智能的发展做出贡献。图片来源网络,侵权删。

沛哥儿的专栏 4028

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

大模型必备技能:RAG检索增强生成技术全攻略,建议收藏

大模型必备技能:RAG检索增强生成技术全攻略,建议收藏

kaka0722ww的博客 1838

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

检索增强生成(RAG)完全入门指南

检索增强生成(RAG)技术通过结合检索与生成机制,有效解决了传统语言模型的知识更新、幻觉和可解释性问题。本文从技术全景到实践细节,系统介绍了RAG在企业知识管理中的应用。核心内容包括:文档处理中的多粒度文本切分与元数据增强策略;主流嵌入模型选型与向量数据库部署方案;以及多路召回架构设计与智能融合算法。文章提供了可运行的代码示例和参数配置建议,为AI新手构建生产级RAG系统提供了实用指南。特别强调混合检索策略(语义+关键词+QA对+元数据)和结果融合技术,可显著提升知识检索质量。

智造编程 1425

【收藏必学】Agentic RAG完全指南:从传统RAG到智能体增强检索生成的演进之路

本文详细介绍了Agentic RAG的概念与实现,展示了从传统RAG到智能体增强检索生成的演进历程。文章探讨了传统RAG在上下文整合、多步推理等方面的局限性,并分析了单智能体、多智能体、分层等多种Agentic RAG架构的优势与挑战。通过实际教程,展示了如何构建一个能够自主决策、迭代优化的智能体RAG系统,为开发者提供了完整的技术指导。

m0_59162559的博客 1235

2024检索增强生成RAG最新综述

人工智能生成内容(AIGC)的发展得益于模型算法的进步、基础模型规模的增加以及大量高质量数据集的可用性。虽然AIGC取得了显著的性能,但仍面临一些挑战,如难以保持最新和长尾知识、数据泄露的风险以及与训练和推理相关的高成本。检索增强生成(RAG)最近出现作为一种范式来解决这些挑战。具体而言,RAG引入信息检索过程,通过从可用数据存储中检索相关对象来增强生成过程,从而提高准确性和鲁棒性。本文全面审查了将RAG技术整合到AIGC场景中的现有努力。

m0_59163425的博客 4769

【GitHub项目推荐--RAG Techniques:检索增强生成技术完全指南】

​​ 是由NirDiamant维护的开源知识库,专注于收集和展示各种先进的检索增强生成(Retrieval-Augmented Generation)技术。该项目是当前最全面的RAG技术资源集合之一,涵盖了从基础实现到前沿架构的完整技术栈,为研究人员、开发者和企业提供了宝贵的参考资源和实践指南。🔗 ​GitHub地址⚡ ​核心价值​:检索增强生成 · AI技术集合 · 实践指南 · 开源社区​项目背景​:​起源​:应对RAG技术快速发展的需求,提供系统化学习资源​使命。

j8267643的博客 1341

我不信看完这篇你还不懂RAG:RAG技术概述,建议收藏

检索增强生成(Retrieval Augmented Generation),简称 RAG。它旨在通过在生成回答前主动检索相关信息,将实时、准确的知识作为上下文提供给模型,从而显著提升了回答的质量和可靠性。

2401_85327249的博客 1377

RAG是什么?RAG检索增强生成技术深度解析(建议收藏)!

RAG(检索增强生成)是一种结合信息检索与文本生成的技术,通过"检索+生成"两阶段流程提升大语言模型的准确性和可靠性。文章详细介绍了RAG的核心流程、关键技术(混合搜索、DPR、重排序模型、多模态RAG等)以及最新发展方向(强化学习、Agentic RAG)。同时提供了智泊AI的AI大模型培训课程,帮助不同背景人群掌握RAG技术,成为AI时代抢手人才。

2401_85390073的博客 1142

【大模型救星】RAG检索总“断章取义“?ChatDOC团队揭秘上下文扩展+二次重排黑科技!小白也能秒懂的检索增强方案!

文章探讨了RAG系统中因文档切块导致的语义割裂问题,指出这是检索不完整的根源。作者分析了无法找到完美切块规则的原因,并提出"上下文扩展+二次重排"解决方案,通过模仿人类阅读习惯,先定位关键片段再扩展上下文,有效弥补信息缺口。实验证明这一策略能显著提升检索完整性和准确性,为高精度企业级RAG应用提供了有效路径。

老皮的博客 887
上一篇: 【必学收藏】RAG与LangChain应用:大模型检索增强生成实战指南
下一篇: 收藏!2025春招AI岗位薪资飙升,程序员必学大模型入门指南来了
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值