RAG:我不只是一个检索器!

RAG——RAG检索(混合检索) 本文探讨了RAG(检索增强生成)中的混合检索技术,结合向量检索和关键词检索的优势提升搜索效果。向量检索擅长语义匹配,但在精确匹配、短词搜索等场景表现欠佳;关键词检索则能有效处理产品编号、低频词等特定查询。混合检索通过多路召回策略(如BM25算法+向量检索)综合不同检索结果,并采用重排序技术(如RRF算法)优化结果排序。实验数据表明,混合检索结合重排序能显著提升召回率和准确性。文章还提供了Python实战代码,演示如何集成BM25和jieba分词实现中文混合检索。这种技术组合为RAG系统提供了更全面、精准的检 阅读详情
AI摘要

本文深入探讨RAG(Retrieval-Augmented Generation)技术,一种结合检索与生成模型的方法,用于增强大模型的回答准确性与时效性。RAG通过从文档数据库中检索相关信息,辅助大模型生成更准确的答案,克服了大模型的知识盲区和幻觉问题。

RAG通常被大家认为就是一个检索器,或者就是一个大模型的辅助,但是目前的RAG技术已经越来越强大了。反过来看,我们可以认为,LLM只是RAG技术的一个模块而已。

本文就详细介绍第二个大招,RAG(Retrieval-Augmented Generation)检索增强技术。

同样从以下几个方面进行梳理:

  1. RAG介绍

主要介绍RAG是什么,以及它的技术发展

  1. RAG技术优势和应用

主要介绍RAG能干什么?它的技术优势有哪些?我们在什么场景和应用上使用它?

  1. RAG技术框架

详细介绍RAG的技术框架和各个模块的作用和相互关系

  1. RAG行业案例

基于Baichuan的行业案例来介绍RAG的具体流程

1. RAG介绍

Retrieval-Agumented Generation–检索增强生成 aka RAG。一般说RAG技术,我更偏向认为它是一个系统,主要包含三个核心部分:"R“ and ”A“ and “G”,“检索”,“增强”,“生成”。

RAG 通过在语言模型生成答案之前,先从广泛且权威的文档数据库中检索相关信息,然后利用这些信息来引导和增强大模型的生成,极大地提升了生成内容的实时性,准确性,相关性和可信性。

之前我们介绍过,大模型能够直接回复用户的问题是因为,大模型把海量知识库压缩到它的模型参数中,然后再通过问答对微调模型让它具有指令遵循能力,具有人类推理总结等能力,最后通过强化学习让模型和人类价值观对齐。所以用户和大模型进行对话的时候,模型是基于它的压缩知识库参数和算法去推理生成答案。如果是涉及到知识盲区了,只能通过再次学习微调那个压缩知识库参数。大家也都知道学习是需要成本的。大家也都知道学习是需要成本的,不管是人力还是算力。

RAG表示:我有一妙招,用户的需求可能很简单,对于一个小问题去微调改变千辛万苦训练出来的大模型没有必要,我可以提前将用户相关的知识准备好后作为输入,大模型发挥推理和文本润色能力就好。

其实从广泛意义上说,我们小学时候查词典也是一个RAG技术

我们长大了使用浏览器解决问题也是一种RAG技术

在大模型之前的客服问答系统中通过文本匹配问答对也是RAG技术

只是LLM的发展促进了RAG技术的发展,让RAG这颗技术树枝繁叶茂。

Lewis 在 2020 年提出的 RAG 概念,近几年快速演变,经历了研究旅程中的几个不同阶段。起初,研究旨在通过在预训练阶段注入额外知识,来强化语言模型。ChatGPT 的推出让生成这个模块性能大幅提升,极大地促进了对大模型进行深入上下文理解能力的兴趣,并加速了 RAG 在推理阶段的发展。随着研究人员对大语言模型(LLMs)能力的深入挖掘,焦点转向了提升它们的可控性和推理技巧,以满足日益增长的需求。GPT-4 的问世是一个重要里程碑,它采用了一种将 RAG 与微调技术结合的新方法,同时继续优化预训练策略。

2. RAG技术优势和应用

通过上面介绍,RAG检索增强生成能干的事情无非就是:检索,检索增强,检索增强生成。

然而,随着大模型本身的持续进步,一些人开始质疑RAG技术未来的地位。他们认为,如果大模型能够消化足够多的信息(支持长上下文)以及提高内部处理复杂性(大模型推理能能力),那么外部检索可能就不再必要。表面上看这种观点有其合理之处,但它忽视了一个关键因素:知识的动态性。世界在不断变化,信息也在持续更新。RAG技术通过实时检索最新信息保持了模型的时效性和准确性,这是单纯依靠预训练大模型难以实现的。

2.1 RAG的优势和劣势

2.1.1 RAG和传统语义检索

与传统检索相比,当前 RAG 系统最显著的不同之处在于其组件的灵活性和模块化设计。人们正不断以新颖和创造性的方式将大语言模型与检索结合起来,从数据中挖掘出更深层次的洞见。

现在RAG的方向也是和大模型技术共同进步,向Agent框架和思路发展。

RAG的语义检索重点通常放在向量化,也就是通过embedding模型将语句转换为高维向量。它的优势是:

(1)语义理解能力:句子(词)向量化后包含了语义信息,能够捕捉到词汇之间的语义联系,而基于关键词的检索需要分词后去匹配到关键词,忽略了词语之间的语义联系。

(2)容错性:关键词检索需要完全匹配,而embedding能够理解词之间的潜在含义,所以具有一定的鲁棒性。

(3)领域数据泛化性:对于专业领域词汇,RAG可以通过微调模型的方式让模型理解如何将问题映射到专业词汇;而关键词检索需要不断的增加匹配对数据或者添加规则解决,泛化能力不强。

当然传统的匹配方法在有些情况下是有效率和性能优势的,在实际项目应用中,我们应该灵活结合两者优缺点配合使用。

2.1.2 RAG和LLM微调

对于RAG和LLM技术的选取,可能被问到的问题是:

现在大模型这么厉害,我直接用大模型不行吗?

不行,大模型容易产生幻觉,大模型不能回答实时更新的问题,大模型不能回答专业领域的问题,大模型无法获取个人和公司私密性文档数据。

那我用业务数据训练大模型或者微调大模型,在本地部署保护数据资产,不行吗?

可以,业务提供足够多样性的训练数据,可以基于大模型进行微调。但是比RAG成本高,无论是资金成本还是人力成本,我们可以结合finetune和RAG的优缺点进行选择。

什么时候用微调,什么时候需要训练生成大模型,其实在LLM的分享中已经聊过。

RAG 和 FT技术,在实际项目应用中并不是相互排斥的,它们应该是互补的。

2.1.3 RAG和支持长文本LLM

我不在乎数据保密,我直接用支持长文本的大模型不行吗?

如果去年我们考虑的LLM对于领域知识问题解决方案是:使用RAG还是使用模型微调?

今年我们的疑问可能就是:随着LLM的发展,是否还需要RAG和finetune?

LLM一直在进步,长文本支持一直是他发展的方向之一,最近层出不穷的支持长上下文的技术论文和开源框架,闭源API出现。我也调研了主流的技术方案。那RAG会因为LLM对长文本的支持而消失么?通过调研得出的结论是:不会。至少现阶段不会。

(1)安全和隐私

kimi是目前提供的支持长文本最大的模型,但是只能提供API形式,通常企业和个人不会提供核心数据。

如果要基于开源支持框架/自研框架进行私有化部署,则需要研发以及全方位对比测评,而目前测评的支持长上下文的开源LLM,对于业务数据的理解能力无法满足业务需求。

(2)性能

从模型算法角度,输入token越多会带来耗时问题,当然推理速度提升也是算法和工程发展的一个重要方向。

kimi的API对于150W字的文档,一个问题大概等1分钟。这个级别的耗时对于问答任务几乎是不可接受的。这些支持长上下文的LLM技术更适合做对整篇文章的理解以及简单推理,比如摘要和速读;而检索任务目前还是RAG更有优势。

我们再从一些实验结果来具体了解下目前支持长上下文的LLM的现状:

来源:https://www.bilibili.com/video/BV1eM4m1D7gM/?spm_id_from=333.337.search-card.all.click&vd_source=75bd9e8ff9ebcb04832827d49a8cb2fb

实验的一些结论:

针(有效片段)越多,难度越大;

上下文开始部分的针要比结尾部分的针更难;

推理要比检索更难(检索到后进行再一次的推理,难度更大)。

个人建议不要被一些公众号文章误导就认为这些技术能够很好的应用到实际需求中,在海底捞针任务中,能高质量的检索到内容需要保持存疑,很多测试表明目前的支持超长文本模型对于单针检索的效果并没有很好,除非检索片段位置在后半段。

当然这个问题一定是在慢慢改善的

上面讲了这么多,RAG这么厉害,那数据都给RAG,让RAG去检索生成?选择一个最好的底座大模型一劳永逸?

不行,RAG只是弥补LLM的短板,它本身也有自己的短板,比如对多轮对话的理解,问题的指代消除,关联文档和片段的检索,召回和重排的性能等等。

再次强调,大模型应用最大的形式应该是RAG和LLM互补,联合使用让性能最佳。

2.2 RAG的应用

文章开头就说过,广义上的RAG技术是在大模型之前就出现的,它的应用场景是很广泛的,大方向上:搜索引擎,智能客服,智能问答。小方向上语义匹配,文本匹配等,比如之前写过的一篇文章:是谁~还不会优雅的构建fewshot!就是RAG的一个应用方向。

所有大模型的应用方向,只要你需要外部知识库的支援,或者严谨场景需要问题答案出处,或者不能容忍大模型出现幻觉问题,都可以搭配使用RAG技术。

3. RAG技术框架

RAG 研究范式不断发展,RAG 被分为三个阶段:初级 RAG、高级 RAG 和模块化 RAG。尽管 RAG 方法的提出能够解决原生 LLM 的幻觉和时效等问题,但它也展示了一些局限性。高级 RAG 和模块化 RAG 的开发是为了克服初级 RAG 中的这些特定缺点的创新。

看过同济大学的RAG综述论文的应该对下面的图不陌生。

3.1 初级 RAG

初级RAG范式是早期的方法论,只是chatGPT的广泛使用让RAG技术获得了更多人关注。初级RAG主要包括索引,检索,生成,也被称为"检索-阅读"框架。

索引 - 将文档分割成短小的片段,并利用编码器建立一个向量索引。

检索 - 根据问题与这些片段之间的相似度来寻找相关的文档片段。

生成 - 结合检索到的信息,生成回答问题的内容。

然而,初级 RAG 遇到了显著的缺点:

检索挑战:检索阶段经常在精确度和召回率上挣扎,导致选择不对齐或不相关的块并丢失关键信息。其中的除了embedding和rerank算法本身的挑战外,对于文档排版分析,文本切片,切片的chunking_size的粗放策略(切片太大,影响检索准确性,切片太小,丢失连贯上下文以及完整语义信息)等等。

生成困难: 在生成响应时,模型可能面临幻觉问题,产生与检索上下文不支持的内容。

增强障碍: 将检索到的信息与不同任务整合可能具有挑战性,有时会导致输出不连贯或不一致。此外,还有一个担忧是生成模型可能过度依赖增强信息,导致输出仅仅是复述检索内容而没有添加有洞察力或综合信息。

3.2 高级 RAG

初级 RAG 在信息检索、内容生成和信息增强方面存在挑战。为此,高级 RAG 应运而生,它在检索前后加入了额外的处理步骤。在检索前,可以采用查询重写、路径选择和扩展等方法来缩小问题与文档片段之间的语义差异。检索后,对文档进行重新排序,以避免在信息处理中出现信息丢失或上下文信息过于冗长的问题。

高级 RAG 引入了特定的改进,以克服初级 RAG 的限制。它专注于提高检索质量,采用了预检索和后检索策略。为了解决索引问题,高级 RAG 通过滑动窗口方法、细粒度分割和元数据的整合,改进了其索引技术。此外,它还采用了几种优化方法来简化检索过程。预检索过程:在这个阶段,主要关注是优化索引结构和原始查询。优化索引旨在提高被索引内容的质量。这涉及到策略:提高数据粒度、优化索引结构、添加元数据、对齐优化和混合检索。查询优化的目标是使用户的原始问题更清晰、更适合检索。常见方法包括查询重写、查询转换、查询扩展和其他技术。

Naive RAG 在检索质量、响应生成质量以及增强过程中存在多个挑战。Advanced RAG 范式随后被提出,并在数据索引、检索前和检索后都进行了额外处理。通过更精细的数据清洗、设计文档结构和添加元数据等方法提升文本的一致性、准确性和检索效率。在检索前阶段则可以使用问题的重写、路由和扩充等方式对齐问题和文档块之间的语义差异。在检索后阶段则可以通过将检索出来的文档库进行重排序避免 “Lost in the Middle ” 现象的发生。或是通过上下文筛选与压缩的方式缩短窗口长度。

高级RAG的检索增强优化方案:

检索增强的阶段:在预训练、微调和推理三个阶段中都可以进行检索增强,这决定了外部知识参数化程度的高低,对应所需要的计算资源也不同。

检索增强的数据源:增强可以采用多种形式的数据,包括非结构化的文本数据,如文本段落、短语或单个词汇。此外,也可以利用结构化数据,比如带有索引的文档、三元组数据或子图。另一种途径是充分发挥 LLMs 的能力,从模型自身生成的内容中检索。

检索增强的过程:最初的检索是一次性过程,在 RAG 发展过程中逐渐出现了迭代检索、递归检索以及交由 LLMs 自行判断检索时刻的自适应检索方法。

3.3 模块化 RAG

随着 RAG 技术的进一步发展和演变,新的技术突破了传统的 Naive RAG 检索 — 生成框架,基于此我们提出模块化 RAG 的概念。在结构上它更加自由的和灵活,引入了更多的具体功能模块,例如查询搜索引擎、融合多个回答。技术上将检索与微调、强化学习等技术融合。流程上也对 RAG 模块之间进行设计和编排,出现了多种的 RAG 模式。然而,模块化 RAG 并不是突然出现的,三个范式之间是继承与发展的关系。Advanced RAG 是 Modular RAG 的一种特例形式,而 Naive RAG 则是 Advanced RAG 的一种特例。

模块化 RAG 架构超越了前两个 RAG 范式,提供了增强的适应性和多样性。它整合了多种策略来改进其组件,例如添加搜索模块进行相似性搜索和通过微调来精炼检索器。为了应对特定挑战,引入了重构的 RAG 模块和重新排列的 RAG 流程的创新。向模块化 RAG 方法的转变正在变得普遍,支持顺序处理和跨其组件的集成端到端训练。尽管具有独特性,模块化 RAG 仍然建立在高级和初级 RAG 的基本原则之上,展示了 RAG 家族内的进步和精炼。

新模块: 模块化 RAG 框架引入了额外的专门组件,以增强检索和处理能力。

搜索模块适应特定场景,使得可以直接跨各种数据源(如搜索引擎、数据库和知识图谱)进行搜索,使用 LLM 生成的代码和查询语言。RAG-Fusion 通过采用多查询策略,将用户查询扩展到不同视角,利用并行向量搜索和智能重新排序来揭示显式和变革性知识,解决了传统搜索的限制。

记忆模块利用 LLM 的记忆来指导检索,通过迭代自我增强创建一个与数据分布更紧密对齐的无界记忆池。RAG 系统中的路由通过多样化的数据源导航,为查询选择最佳路径,无论是涉及摘要、特定数据库搜索还是合并不同信息流。

预测模块旨在通过直接通过 LLM 生成上下文来减少冗余和噪声,确保相关性和准确性。

最后,任务适配器模块通过为zero-shot自动化提示检索和通过少次射查询生成创建特定于任务的检索器,将 RAG 定制到各种下游任务。

新模式: 模块化 RAG 通过允许模块替换或重新配置以应对特定挑战,提供了显著的适应性。这超越了初级和高级 RAG 的固定结构,后者以简单的“检索”和“阅读”机制为特征。此外,模块化 RAG 通过整合新模块或调整现有模块之间的交互流程,扩展了这种灵活性,增强了其在不同任务中的适用性。

Modular RAG的好处是显⽽易⻅的,将当前RAG的技术整合到⼀个范式中,提供了更加全⾯且更⾼维度的视⻆,可以让研究⼈员快速把握当前研究发展的全貌和趋势,构建⼀个RAG的思维地图。通过模块之间编排,相关的技术和⽅法被清晰的汇总,RAG系统的设计和构建变得更加便利,更容易定位到问题环节。

● 对于研究⼈员。研究⼈员可以在全⾯了解RAG当前的发展的基础上,更好地识别当前RAG各个模块中的缺陷,聚焦研究内容,提出新的模块类型、模块和算⼦。

● 对于开发⼈员。⼀⽅⾯开发研究⼈员可以借鉴当前经过验证的RAG Flow Pattern,快速上⼿。另⼀⽅⾯开发⼈员可以根据特定的数据情况、使⽤场景、下游任务以及其他需要去定制化地编排不同的RAG模块和算⼦,定义新的Flow和 Flow Pattern。

3.4 RAG技术框架

同济大学RAG-Survey已经总结出了7个RAG Flow模式以及3个典型的应用场景。

针对自己的业务需求去找最适合场景的RAG-Flow,而Flow中每个步骤就是模块化RAG中的一个模块。

论文也提到了RAG的生态系统:

4. RAG最佳行业案例

基于百川的宣传资料整理(查看原⽂)。针对⽤户⽇益复杂的问题,百川借鉴了Meta的CoVe技术,将复杂Prompt拆分为多个独⽴且可并⾏检索的搜索友好型查询。利⽤⾃研的TSF(Think-Step Further) 技术来推断和挖掘⽤户输⼊背后更深层的问题,以更精准、全⾯地理解⽤户意图。在检索步骤中,百川智能⾃研了Baichuan-TextEmbedding向量模型。同时引⼊稀疏检索和 rerank 模型(未披露),形成向量检索与稀疏检索并⾏的混合检索⽅式,⼤幅提升了⽬标⽂档的召回率。此外还引⼊了self-Critique让⼤模型基于 Prompt、从相关性和可⽤性等⻆度对检索回来的内容⾃省,进⾏⼆次查看,从中筛选出与 Prompt 最匹配、最优质的候选内容。

最后我们借助Baichuan的RAG案例,来分析RAG应用中的难点和解决方案。

Baichuan的RAG的主要流程:

  1. 用户问题的扩写和改写:主要用于将复杂的Prompt拆分为多个独⽴且可并⾏检索的问题去查询,有点我们写prompt时候的思维链,思维树的概念。百川是采用了自研的Think-Step Futher技术去挖掘用户的真实问题,能更深入和更精准的了解用户意图。

  2. 判别:有了多并发的一系列子问题后,他还有一个Judge过程,来判断问题如果模型能回答,就直接生产;如果不能回答就需要进行检索。

  3. 检索和重排:对于检索它使用了稀疏检索和密集检索的混合检索形式,再结合生产的结果,多路召回问题相关知识,再通过rerank技术获取有用信息。

  4. 自省:获取到问题相关信息后,百川使用self-Critique技术,让⼤模型对检索回来的内容再次进行思考,判断召回片段是否有用是否相关等,再次从中筛选出与 问题最匹配的候选内容。

  5. 生产:最后利用LLM结合检索到的信息生成答案。

可以看出,最终表现形式虽然就是简单的问答,但是整个流程中处处是难点。但是大家也要注意结合自己的业务需求和成本区考虑,去选择最适合自己的流程~

如何系统的去学习AI大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

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

​

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容:
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容:
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容:
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容:
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的所有 ⚡️ 大模型 LLM 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

全套 《LLM大模型入门+进阶学习资源包》↓↓↓ 获取~

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

​

深入理解RAG和微调:优势、局限及应用场景分析 在实际应用中,应根据具体需求,综合考虑数据资源、任务特性等因素,合理选择RAG或微调技术,必要时可探索二者结合的方式,以实现最佳的模型性能和应用效果,推动人工智能技术在更多领域的深入应用与发展。当有输入时,系统计算输入向量与数据库中知识向量的相似度,检索出最相关的知识片段,再将这些片段与原始输入一同送入语言模型进行内容生成。本文旨在深入探讨RAG和微调技术,通过剖析它们各自的优势、局限,并结合具体应用场景展开分析,帮助读者全面掌握这两项技术,以便在不同的业务与研究场景中做出合理选择。(二)微调的应用场景。 阅读详情

相关推荐

大模型外挂知识库rag综述

大模型外挂知识库rag的综述

posuosini的博客 1万+

大模型入门到进阶:什么是 RAG?为什么需要 RAG?RAG 的流程

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频,免费分享!

star_nwe的博客 3万+

(17-6-05)检索增强生成(RAG):父文档检索器

一般的大模型LLM对用户的输入语句的长度或者说叫token数是有限制的,如果文档过大极有可能在调用LLM时产生异常报错,为此Langchain还提供了另外一种父文档分割的方法叫“检索较大的文档块”,采用了分两步的文档分割策略:首先将原始文档分割成较大的块,然后再将这些较大的块分割成较小的文档块。(2)使用LangChain框架中的组件来处理和检索文档,通过分割文档、生成嵌入向量、存储文档信息并执行相似性搜索实现了一个基本的文档检索系统,可以根据用户的查询快速找到相关的文档内容。

码农三叔 1365

大模型应用RAG系列(1)初识RAG

之前我们在讲大模型的应用方向和架构时,有提到RAG、Agent、Fine-Tune。在作者写大模型专题的文章时,也是边学习,边梳理,边总结。在这个过程中,大模型在各个方向都不断地快速发展,对应的paper、理论、方向也是不断地涌现出来。

AAI666666的博客 1803

传统RAG流程;密集检索器,稀疏检索器:中文的M3E

传统RAG流程;相似性搜索中:神经网络的密集检索器,稀疏检索器:中文的M3E

ZhangJiqun&191cm&85kg 675

探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成

探索检索增强生成(RAG)技术的无限可能:Vector+KG RAG、Self-RAG、多向量检索器多模态RAG集成

丨汀、的博客 5391

LangChain 检索器与 RAG 系统的深度解析与应用

本文深入探讨了 LangChain 框架中的检索器(Retrievers)及其在检索增强生成(RAG)系统中的应用。首先,文章介绍了检索系统的基础知识,包括其定义、传统检索系统的类型(如关系数据库、词法搜索引擎和向量数据库)以及 LangChain 检索器的核心概念和工作流程。接着,文章详细讲解了如何使用向量数据库作为检索器,并通过代码示例展示了如何构建和使用检索器;文章进一步阐述了 RAG 系统的工作原理,强调了其在提高大语言模型(LLM)准确性和时效性方面的优势。

羑悻的博客. 7290

【吐血整理-历时两个月,长达万字】FDTD Solutions学习笔记

原教学视频来自于Ansys-Lumerical官方的FDTD100,所看视频来自B站大佬UP主 【Nestor_呐等】 的幸苦翻译,本文内容粘贴自我个人在学习FDTD100时,通过字幕和一些个人理解总结的一份word。整理不易,强烈建议收藏!...

weixin_45719141的博客 10万+

项目分享|RAG-Retrieval库实现基于LLM偏好监督RAG检索器微调

如何提升RAG性能?对于黑盒大模型比如GPT4来说,比较合适的是冻住LLM,利用来。开源地址:https://github.com/NLPJCL/RAG-Retrieval这里面关键一环是,即对于每个用户查询Q和一些文档 𝐷1,𝐷2,…,𝐷𝐾 ,得到Q和每个文档的分数。对于来说,可以利用来说,比较好的思路是利用来得到监督信号。2024.6.4更新:这两天发现GPT3.5/4以及大多数基于API的大模型,并不支持获取输入token的概率,一个可替代的方案是将大模型得到。得到监督信号后,利用将和。

weixin_45783724的博客 1142

PCB作为智能小车底盘的设计方法与工程实践

PCB底盘是一种将机械结构与电子设计深度融合的嵌入式系统集成方案,其本质是利用印制电路板的高精度制造能力(±0.05mm孔位公差)和FR-4材料的结构强度(弯曲强度345MPa),替代传统亚克力或铝合金底盘。该方案通过封装库驱动的正向设计、机械层语义化定义及机电协同布局,实现安装基准统一、共地平面优化与RF天线集成等技术价值。广泛应用于教育机器人、AGV小车、模块化开发平台等对空间紧凑性、量产一致性与电磁兼容性有严苛要求的移动嵌入式场景,尤其适合具备EDA工具使用能力的电子工程师主导的跨学科开发流程。

weixin_36064575的博客 129

VH6501实战:手把手教你用CANoe脚本精准触发CAN总线干扰(附避坑点)

本文详细介绍了使用VH6501和CANoe脚本精准触发CAN总线干扰的实战技巧,包括触发位置控制、ValidityMask配置和干扰序列设置等关键步骤。通过具体代码示例和常见问题排查指南,帮助工程师避开实际应用中的常见陷阱,提升CAN总线干扰测试的准确性和效率。

weixin_33709219的博客 370

RAG 技术专栏:检索器技术介绍

检索增强生成(RAG)技术通过结合检索器和生成器,解决大型语言模型(LLM)的知识时效性和真实性问题。RAG系统包含向量化模块、检索器和生成器三大核心:向量化将文本映射到语义空间;检索器通过相似度计算从知识库中获取相关内容;生成器将检索结果融入Prompt生成最终答案。检索器通过相似度函数(如余弦相似度)在知识库中高效定位相关文本,包括基于词项匹配的传统稀疏检索方法。该系统显著提升了LLM生成结果的准确性和可靠性。

古月居 1700

SAP打印错位问题终极解决指南:LP01设备格式设置全流程

本文详细解析了SAP系统中LP01设备打印错位问题的解决方案,重点介绍了SPAD事务码的配置流程和格式设置技巧。通过精准调整输出设备、设备类型和格式类型的匹配关系,有效解决'未定义格式'错误,确保打印内容准确对齐。文章还提供了高级排查方法和预防措施,帮助SAP管理员提升打印管理效率。

weixin_29311017的博客 390

深入理解 RAG 引擎核心组件:检索器的原理与实践

先对输入的 node 在 document 级别生成摘要 node,并做嵌入与索引,检索时先查询相关的摘要 node,再溯源到对应的基础 node 返回。llm:使用大模型判断摘要内容与输入问题的相关性,获得最相关的摘要 node,然后输出对应的基础 node。对应的检索器类型为,参数有(使用大模型判断摘要相关性的 prompt 模版)、(选择相关的摘要 node 数量,注意不是返回的 node 数量)。embedding。

佑瞻的博客 1262

【探秘】二维异形件重叠移除算法:从度量到消除的实战解析

本文深入解析二维异形件重叠移除算法的核心技术与实战应用,涵盖重叠度量、零件扰动策略及消除方法。通过NFP(临界多边形)技术、空间分区加速等优化手段,有效解决异形件排版中的重叠问题,提升材料利用率和计算效率。适合制造业、CAD软件开发者及算法工程师参考。

weixin_28698059的博客 252

低功耗基础概念——Level Shifter cell补充

信号跨越不同级别电压模块进行驱动时,需要使用level shifter。 H2L Level shifer 从高电压到低电压的level shifter,可以是两个反相器的串联。 输入高电平区域信号INH,输出低电平区域信号OUTL,注意供应电源由低电压模块提供,即图中的VDDL。 从图中可以看出,H2L的level shifter只会引入一个buffer的延迟,对时序的影响较小。 L2H Level shifer 用低电压区域的信号invert和buffer之后得到的一对信号来驱动工作在高电压区域的交

qq_36480087的博客 1万+

【一起来学AI大模型】RAG系统组件:检索器(LangChain)

摘要: 检索器(Retriever)是RAG系统的核心组件,负责从知识库中检索与用户查询相关的信息。LangChain框架提供了模块化的检索器实现,包括基础向量检索器(VectorStoreRetriever)、多路融合检索器(EnsembleRetriever)、智能解析查询的自查询检索器(SelfQueryRetriever)以及优化结果的上下文压缩检索器(ContextualCompressionRetriever)。这些检索器支持灵活配置(如搜索算法、元数据过滤等),并与向量数据库(如ChromaD

hhhhuuuu_的博客 1723

windows在使用ping 127.0.0.1时出现一般故障的解决方案

本文主要介绍了windows在使用ping 127.0.0.1时出现一般故障的解决方案,希望能对使用windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 7万+

RAG 和父文档检索器

使用 PDR,文档首先被识别并标记为“父文档”。将这些视为全面的来源或“大局”。但是,PDR 并没有试图将这些庞大的内容压缩到一个嵌入中,而是将这些父文档进一步细分为“子文档”。这些子段表示总体父文档中存在的更具体的主题或主题。

weixin_69415739的博客 1710

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

基于多向量检索器的多模态RAG实现:用于表格、文本和图像

基于多向量检索器的多模态RAG实现:用于表格、文本和图像

安静的软件工程师 4421

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何构建一个带自查询检索器的 RAG 系统

原文:towardsdatascience.com/how-to-build-a-rag-system-with-a-self-querying-retriever-in-langchain-16b4fa23e9ad?

龙哥盟 1071

Llama-Factory能否用于训练RAG检索器部分?

本文探讨了Llama-Factory是否可用于训练RAG系统中的神经检索器。尽管该工具主要面向生成模型微调,但凭借其模块化设计、LoRA支持与自定义能力,通过合理配置可有效训练双塔结构的检索模型,适用于中文DPR等场景,显著降低研发成本。

weixin_35829279的博客 707

如何将企业级RAG检索器DenserRetriever 集成到 GPT Store

如果你对人工智能感兴趣,并且拥有 ChatGPT Plus 账号,欢迎参加测试活动,体验最前沿 RAG 技术,还有机会赢取高达 $300 的奖励!

DanserAI_Chris的博客 1006

高级RAG(二):父文档检索器

今天我们学习了langchain的父文档检索器,父文档检索器有两种工作方式即检索完整文档,和检索较大的文档块,其中检索完整文档的前提条件是原始文档的大小不能超过大模型llm对输入文本长度的限制条件,因此我们的原始文档不能太长。

weixin_42608414的博客 7226

探索RAG-Ollama-Multi-Query:多查询检索器在AI中的应用

多查询检索器是一种查询转换技术,它通过生成多样化的查询视角来提高信息检索的覆盖率。用户输入的单个查询被转换为多个角度的查询,每个查询从不同视角出发,检索相关文档,最终合并所有查询的结果以生成答案。结合Ollama和OpenAI的多查询检索器大大提高了RAG任务的效率和准确性。通过多视角的查询生成,我们能够更全面地覆盖信息检索任务。

dsndnwfk的博客 1070
上一篇: 大模型时代,前端必须了解一下LangChain应用开发框架
下一篇: LLM之探索大模型能力--prompt工程
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值