大模型落地必备:一文读懂 RAG(检索增强生成)技术原理与实现方案

一文搞懂RAG,原理,流程,最佳实践 最近遇到好多人和我交流RAG相关的技术,同事在说,面试在说,甚至我多年未联系的挚爱亲朋都突然来问我RAG是个啥?要怎么搞?我印象中22年23年,讨论大模型应用,都在讲三个方向。但是随着越来越多的应用被开发出来,RAG相对另外两者稍显走弱。我们组今年甚至几乎没有RAG相关的规划,都还在之前搭的老一套上用。所以,一文搞懂RAG。为了减少的大小,可以先拼接,再总结,再发给大模型进行处理。不过这种用法很少见,一般是把这个小模型直接做在模型层面,和大模型一起做成一个混合模型,并且会做大量的意图识别的训练。 阅读详情

在大型语言模型(LLM)发展早期,“微调” 是扩展模型能力的常用手段,随着 LLM 技术发展,微调暴露出局限性。我将保留关键案例和结论,精简描述性语句,突出核心观点。
在大型语言模型(LLM)发展初期,开发者常通过 “微调” 适配新数据、扩展模型能力。当时模型参数与训练数据量有限,微调尚能以低成本满足基础需求。但随着 LLM 技术迭代,模型参数量达万亿级,训练数据指数级增长,传统微调的局限性逐渐显现:它更适合调整输出风格,却难以快速注入海量新知识。

以 ChatGPT 为例,询问 “寒冷天气专用帐篷设计特点” 时,早期模型仅机械扩展提示,升级后模型则给出专业回答。这说明其优化重点在于交互逻辑,而非更新知识库。可见微调虽能处理风格调整,但面对企业级场景的实时知识更新需求却力不从心。

此外,有效微调需满足高质量标注数据集、百万级计算资源和数天至数周训练周期三大前提,这对中小企业和个人开发者而言门槛过高。因此,2021 年 FAIR 提出的检索增强生成(RAG)技术,为大模型知识扩展提供了新方案。

1、 什么是RAG(检索增强生成)?

检索增强生成(RAG)是一种融合“外部知识检索”与“语言生成”的创新技术,其核心目标是通过引入权威、实时的外部知识源,弥补大型语言模型在“事实准确性”和“知识时效性”上的固有缺陷。

从技术本质来看,LLM的核心竞争力在于“对语言规律的参数化理解”——它通过数十亿甚至万亿级参数,学习人类语言的语法结构、语义关联和表达逻辑,从而具备流畅生成文本的能力。这种能力让LLM能高效应对通用对话、创意写作等场景,但当用户需要获取“2024年新能源汽车补贴政策”“某款新药的三期临床试验数据”等具体、专业、时效性强的信息时,仅依赖模型训练时固化的参数化知识就会“力不从心”。毕竟,任何LLM的训练数据都有时间截止点(如GPT-4训练数据截止到2023年10月),无法覆盖实时更新的知识;同时,模型参数量有限,也难以存储所有细分领域的专业细节,这就导致LLM在处理特定查询时可能出现“幻觉”(生成错误信息)或“信息滞后”问题。

RAG技术的出现,正是为了破解这一困境。它的核心逻辑并非改变LLM本身的参数,而是为LLM搭建一个“外部知识接口”:当用户提出查询时,系统先从海量外部知识库中检索出与问题高度相关的信息,再将这些信息与原始查询结合,作为提示输入LLM,最终让模型基于“内部语言能力+外部事实知识”生成响应。

img
高级RAG 架构参考示意图

尽管不同场景下的RAG系统在技术实现上存在差异(如检索算法选择、知识库类型),但从通用流程来看,其核心环节可归纳为五步:

  1. 查询输入:用户提出具体问题或需求(如“如何解决某型号打印机卡纸问题”);
  2. 知识检索:系统基于查询语义,从预设知识库(如产品手册、技术文档库)中筛选出最相关的文本片段;
  3. 提示构建:将检索到的知识片段与原始查询融合,形成“问题+上下文”的增强型提示(如“根据某型号打印机手册第5章内容,解决该设备卡纸问题的步骤如下:……请结合这些信息,为用户提供操作指南”);
  4. 响应生成:LLM基于增强提示,生成准确、具体的回答;
  5. 反馈优化:用户对响应质量进行评价(如“准确”“遗漏关键步骤”),系统根据反馈调整检索策略或提示构建逻辑,持续提升性能。

此外,RAG的一大优势在于“高度可定制化”:开发者可根据业务需求选择知识库类型(如PDF文档库、数据库、API接口数据)、优化检索算法(如基于向量相似性、关键词匹配,或混合检索),甚至调整提示构建方式(如按重要性排序知识片段、添加领域术语解释),从而让系统更好地适配垂直场景(如医疗、法律、工业制造)。

2、为什么大模型必须依赖RAG?

大型语言模型凭借其强大的文本生成能力,已在客服、创作、代码开发等领域广泛应用,但在“可靠性”和“实用性”上仍存在明显短板,而RAG正是弥补这些短板的关键技术。

LLM的核心缺陷之一是“输出一致性不足”。由于模型本质是基于训练数据中的“词语统计关联”生成文本,而非真正“理解”语义,因此在面对相同或相似问题时,可能会给出矛盾的答案。例如,询问“某款保健品是否能治疗高血压”,LLM有时会称“有辅助调节作用”,有时又会表示“无治疗效果”——这种不确定性源于模型对训练数据中模糊信息的随机调用,而非基于明确事实的推理。

另一个核心缺陷是“知识固化与滞后”。LLM的训练数据有明确的时间窗口,一旦训练完成,就无法自主更新知识。例如,2023年训练的模型无法知晓2024年的新政策、新科研成果;同时,模型参数量有限,无法存储所有细分领域的细节知识(如某家企业的内部流程、某款设备的维修手册),这导致LLM在垂直业务场景中“实用性不足”。

RAG技术通过“外部知识融合”,从根本上解决了这两大问题:

  • 提升可靠性:RAG让LLM的回答严格基于检索到的权威知识源(如官方文档、学术论文、行业标准),减少“幻觉”产生的概率;同时,用户可通过追溯知识来源(如“答案来自某法规第3条”)验证响应准确性,增强系统可信度。
  • 突破知识边界:只要持续更新外部知识库(如定期上传新政策文件、产品手册),LLM就能实时获取最新知识,无需重新训练;此外,通过对接垂直领域知识库,LLM可快速适配专业场景(如让通用模型具备“解读医疗影像报告”“起草法律合同”的能力)。

具体来看,RAG系统的运作围绕“检索”与“生成”两大核心环节展开,二者相辅相成:

  • 检索(Retrieval):这是RAG的“知识输入口”。系统首先将知识库中的文档拆分为语义连贯的片段(如每200-500字为一个单元),通过嵌入模型(如Sentence-BERT)将每个片段转换为“语义向量”,存储到向量数据库中。当用户提出查询时,系统会将查询也转换为向量,通过计算向量相似度,从数据库中快速筛选出Top N个最相关的知识片段。值得注意的是,优质的知识库是检索质量的前提——通常需要包含权威、结构化的信息(如经过审核的技术文档、官方发布的政策文件),而非杂乱的网络文本。
  • 生成(Generation):这是RAG的“价值输出口”。系统将检索到的知识片段与原始查询结合,构建出“信息充分”的提示,再输入LLM进行处理。此时,LLM不再是“凭空生成”,而是基于明确的上下文进行推理,既能保证回答的准确性,又能保持语言的流畅性和逻辑性。例如,当用户询问“某城市2024年最低工资标准”时,RAG会先检索该城市人社局发布的2024年通知,再让LLM基于通知内容生成具体数字和执行时间,避免模型因知识滞后给出2023年的旧数据。

当前,RAG的应用已从“通用问答”向更多垂直领域延伸:在医疗领域,RAG可对接电子病历库和医学文献,辅助医生生成诊断建议;在金融领域,RAG可整合市场数据和监管政策,为投资者提供合规的分析报告;在工业领域,RAG可链接设备维修手册和故障案例,帮助工程师快速定位问题。随着技术发展,RAG还在与其他技术融合——例如,结合“记忆增强生成(Memory Augmented Generation)”,让系统能记住用户历史查询,提供更连贯的服务;结合“知识追踪(Knowledge Tracing)”,让系统主动识别知识库中的缺失信息,触发更新机制。可以说,RAG不仅是当前增强LLM能力的核心手段,更是推动大模型从“通用工具”向“行业解决方案”演进的关键桥梁。

3、 RAG的工作流程:从查询到响应的完整链路

与传统微调“修改模型参数”的思路不同,RAG采用“模块化集成”的设计——将LLM作为“生成器”,搭配“文档存储库”“检索引擎”“向量数据库”等组件,形成完整的知识处理闭环。这种设计既保留了LLM的语言生成优势,又避免了重新训练模型的高昂成本,同时实现了知识的动态更新。

img
RAG(检索增强生成)基本工作原理参考示意图

从用户发起查询到系统输出响应,RAG的完整工作流程可分为四个核心阶段,每个阶段都有其关键技术细节:

阶段1:文档预处理与向量存储(离线准备)

在用户发起查询前,RAG需要完成“知识库构建”的离线工作,这是后续高效检索的基础,具体包括三步:

  1. 文档拆分:将原始文档(如PDF、Word、TXT)拆分为语义完整的“文本块(Chunks)”。拆分逻辑需兼顾“语义连贯性”和“检索精度”——若文本块过短(如100字以内),可能丢失上下文;若过长(如2000字以上),则会包含冗余信息,降低检索相关性。常见的拆分方式有“固定长度拆分(如每300字一段)”“按段落/章节拆分”“基于语义断点拆分(如通过句子相似度判断拆分位置)”。
  2. 语义向量转换:使用嵌入模型(如OpenAI的text-embedding-3-small、开源的BERT-base)将每个文本块转换为高维向量。这些向量能精准表征文本的语义内涵——例如,“寒冷天气帐篷”和“冬季露营装备”的向量会高度相似,而与“夏季防晒衣”的向量差异较大。
  3. 向量存储:将生成的语义向量及其对应的元数据(如文本块来源、页码、更新时间)存储到向量数据库中(如Pinecone、Milvus、FAISS)。向量数据库支持高效的“相似性搜索”,能在毫秒级从百万级甚至亿级向量中找到与查询向量最匹配的结果,这是RAG实现“实时响应”的关键。

阶段2:基于查询的知识检索(在线匹配)

当用户输入查询(如“如何选择寒冷天气专用帐篷”)后,系统进入在线检索阶段:

  1. 查询向量化:将用户查询转换为与文本块相同维度的语义向量,确保二者可进行相似度计算。
  2. 相似性检索:向量数据库基于“余弦相似度”“欧氏距离”等指标,计算查询向量与所有文本块向量的匹配度,筛选出Top 5-20个最相关的文本块(具体数量可根据场景调整,数量过少可能遗漏关键信息,过多则会增加LLM处理负担)。
  3. 检索结果过滤:部分RAG系统会增加“二次过滤”步骤——例如,通过关键词匹配(如查询中包含“防风设计”,则优先保留包含该关键词的文本块)、元数据筛选(如优先选择2023年后更新的文档),进一步提升检索结果的精准度。

阶段3:增强型提示构建(上下文优化)

获取相关文本块后,系统需要将其与原始查询融合,构建出能引导LLM精准生成的提示。这一步的核心是“让LLM清晰理解知识边界和生成要求”,常见的构建策略包括:

  • 上下文拼接:将检索到的文本块按相关性排序,依次拼接在查询后,例如:“用户问题:如何选择寒冷天气专用帐篷?相关知识:1. 寒冷天气帐篷需具备防风、防水、隔热三大核心性能……2. 面料选择上,210D牛津布比150D面料更耐磨,适合低温环境……请基于上述信息,给出具体选购建议。”
  • 指令注入:在提示中添加明确的生成规则,例如:“请严格基于提供的知识回答,若知识中未提及相关内容,需明确说明‘该信息未在参考资料中找到’,不得编造信息。”
  • 信息汇总:对于过长的文本块,先通过LLM进行摘要处理,再融入提示,避免提示长度超出模型限制(如GPT-4的上下文窗口为128k tokens,但若文本块总长度接近上限,仍需精简)。

阶段4:LLM响应生成与反馈(结果输出与优化)

  1. 响应生成:增强提示输入LLM后,模型会结合自身的语言理解能力和外部知识,生成结构化、准确的回答。例如,针对“寒冷天气帐篷选购”的查询,LLM会基于检索到的知识,从“性能参数”“面料选择”“品牌推荐”等维度展开回答,同时避免提及知识中未包含的内容。
  2. 结果输出与溯源:部分RAG系统会在输出响应时,附带“知识来源标注”——例如,在回答末尾注明“上述信息来自《冬季露营装备选购指南》第3章、某品牌2024年产品手册”,方便用户验证信息真实性。
  3. 用户反馈与系统优化:用户可对响应质量进行评价(如“准确”“遗漏隔热性能说明”“知识过时”),系统会根据反馈调整关键参数——例如,若用户反馈“遗漏信息”,则增加检索时的文本块数量;若反馈“知识过时”,则触发知识库更新提醒。长期来看,这种“反馈-优化”闭环能持续提升RAG系统的性能。

4、 RAG架构的核心组成元素

RAG并非单一技术,而是由多个模块协同工作的完整架构。这些模块既相互独立(可根据需求替换),又紧密关联(任一模块性能不足都会影响整体效果),共同构成了RAG的技术底座。

1. 向量数据库(Vector Database)

向量数据库是RAG的“知识仓库”,负责存储和管理文本块的语义向量。其核心优势在于“高效相似性搜索”——相比传统关系型数据库(如MySQL)基于关键词的查询方式,向量数据库能捕捉文本的语义关联,即使查询与文本块表述不同(如查询“冬季帐篷”与文本块“寒冷天气露营装备”),也能精准匹配。目前主流的向量数据库可分为三类:

  • 云原生向量数据库:如Pinecone、Weaviate,支持弹性扩容,适合大规模企业级应用;
  • 开源向量数据库:如Milvus、FAISS(Facebook开源),部署灵活,适合中小团队或科研场景;
  • 嵌入式向量数据库:如Chroma、Qdrant,可嵌入应用内部,适合轻量级场景(如个人知识库)。

2. 提示工程(Prompt Engineering)

提示工程是RAG的“导航系统”,负责将查询和检索到的知识转化为LLM能理解的指令。优秀的提示能让LLM在“遵循知识边界”的同时,生成流畅、结构化的回答。除了前文提到的“上下文拼接”“指令注入”策略,提示工程还需关注以下细节:

  • 角色设定:在提示中为LLM设定明确角色,例如“你是专业的冬季露营装备顾问,请基于提供的知识,为用户解答选购问题”,帮助模型定位回答风格;
  • 格式引导:指定回答的结构,例如“请分点回答,每个要点包含‘核心建议’和‘理由’两部分”,提升回答的可读性。

3.ETLPipeline数据管道

数据提取、转换和加载(ETL)管道负责处理原始数据,包括去重、更新插入(Upsert)等操作,并进行必要的转换,如文本分块、元数据提取等,以确保数据以最优格式存储在向量数据库中。

4.LLM大型语言模型

RAG架构可与各种LLM模型兼容,包括商业闭源模型和开源模型。开发者可根据具体需求选择合适的LLM作为RAG系统的核心生成引擎。

5.Semantic Cache语义缓存

语义缓存(如GPT Cache)通过存储LLM的历史响应,降低了系统的计算开销,提高了响应性能。这对于大规模应用以及成本敏感的场景来说尤为重要。

6.RAG工具集

第三方RAG工具集(如LangChain、LLamaIndex、Semantic Kernel等)为构建和部署RAG模型提供了便利,这些工具通常具有良好的LLM兼容性。

7.评估工具和指标

评估工具和指标(如TruLens、DeepEval、LangSmith、Phoenix等)对于监控和优化RAG系统的性能至关重要。它们结合了多种评价指标和辅助LLM,帮助全面分析系统输出的质量。

上述各个元素相互协同,构筑了RAG架构的完整闭环。其中,向量数据库和语义缓存为LLM提供了高效获取外部知识的途径;提示工程确保了LLM能够充分利用所提供的上下文信息;ETL管道负责清理和预处理原始数据,为系统提供高质量的知识源;第三方工具集简化了RAG系统的构建和部署;而评估工具和指标则支撑了系统的持续优化和改进。

值得一提的是,RAG架构不仅为LLM注入了外部知识获取能力,更重要的是为其开辟了持续学习和自我进化的大门。未来,随着记忆增强、元学习、自动知识库构建等前沿技术的加入,RAG有望赋予语言模型真正的主动学习能力,使其能够不断吸收新知识,持续扩充和优化内部知识库,最终突破静态知识库的限制,成为具备通用智能的学习智能体。

此外,RAG架构本身也在不断演进。越来越多的创新机制和技术正在被引入,如多模态知识融合、上下文感知提示优化、分布式异构知识库集成、基于人类反馈的交互式学习等,极大拓展了RAG的应用场景和能力边界。

5、RAG优势及挑战

RAG架构为LLM提供了一种全新的知识注入和更新机制,有助于解决传统LLM固有的一些局限性。

在传统的LLM训练过程中,模型的参数化知识是静态的、固定的,一旦训练完成便无法直接更新。这意味着:即便基础知识库发生变化,LLM也无法自主吸收新知识,唯一的方式是从头开始重新训练模型,这无疑代价高昂、效率低下。

而RAG架构则为LLM提供了一种动态获取外部知识的新路径。通过与先进的语义检索和向量数据库技术相结合,RAG使LLM能够在回答查询时直接访问最新、最相关的知识源,而无需对模型本身进行任何修改或重新训练。只要持续更新知识库,LLM的输出响应就会自动反映最新的知识状态,保持了极高的时效性和准确性。

更重要的是,RAG架构赋予了LLM一种新的响应模式——基于源知识生成(Source-grounded Generation)。在这种模式下,LLM的回复将严格限制在提供的上下文知识范围内,有助于降低幻觉(Hallucination)风险,提高输出的可信赖性。

该特性不仅可应用于大型通用LLM,更有利于催生出一类特定领域的小型高效LLM。这些模型在训练时仅需获取通用语言知识,而专门的领域知识则来自于RAG管道提供的动态知识源,从而实现了模型结构的精简和训练成本的降低,同时保留了输出的高质量和专业性。

另一个突出优势在于,RAG架构能够为LLM的输出响应提供清晰的源跟踪(Source Tracing)功能。也就是说,系统不仅会生成高质量的答复内容,还会同时输出贡献该答复的具体知识源和证据路径。这一方面提高了系统输出的可解释性和可追溯性,有助于发现和诊断LLM可能产生的幻觉行为;另一方面,也为敏感领域的监管合规提供了坚实的技术支撑,确保了知识来源的可审计性。

然而,在实践应用和未来发展过程中,这一创新技术仍然面临着一系列重大挑战需要我们亟待攻克。

这些挑战涉及到知识库构建、检索算法、提示工程、解释技术、隐私与安全、系统效率等多个关键领域。我们需要投入更多的研究和开发资源,持续关注并深入研究这些关键领域,以推动技术的进一步突破和创新。只有通过不断攻克这些挑战,才能实现技术的全面应用和发展。

6、如何学习大模型 AI ?

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

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

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

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

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

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

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

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

在这里插入图片描述

7、为什么要学习大模型?

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

在这里插入图片描述

在这里插入图片描述

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

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,Retrieval-Augmented Generation」检索增强生成 检索增强生成(RetrievalAugmentedGeneration),简称RAG,已经成为当前最火热的LLM应用方案。它是一个为大模型提供外部知识源的概念,这使它们能够生成准确且符合上下文的答案,同时能够减少模型幻觉。知识的局限性:模型自身的知识完全源于它的训练数据,而现有的主流大模型(ChatGPT、文心一言、通义千问…)的训练集基本都是构建于网络公开的数据,对于一些实时性的、非公开的或离线的数据是无法获取到的,这部分知识也就无从具备。幻觉问题。 阅读详情

相关推荐

RAG检索增强生成(Retrieval-augmented Generation)

RAG检索增强生成(Retrieval-augmented Generation)

u013558123的博客 1481

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

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

star_nwe的博客 3万+

Bode图、ABCD矩阵与EET结合:三步搞定复杂电路传递函数分析

在模拟电路与电源控制设计中,传递函数和频率响应是衡量系统稳定性的核心指标。Bode图以直观的幅频/相频曲线揭示带宽与相位裕度,ABCD二端口矩阵可将级联网络结构化表达,而EET额外元素定理则针对寄生电容、负载效应等局部修正提供显式公式。三者互补,组合成一套从整体拓扑到局部寄生修正的完整分析方法:先用ABCD搭建主体网络,再用EET快速加入额外元件,最后用Bode图验证传递函数和稳定裕度。该方法适用于滤波器设计、电源环路补偿、运放稳定性分析等线性小信号场景,支持Python/SciPy和SPICE交叉验证,显

weixin_32496547的博客 363

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

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

AAI666666的博客 1803

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 507

国赛数学建模高教社杯历届优秀论文全集

包含了2004到2023年高教社的赛题及优秀论文。

BanDeng001的博客 3288

收藏必备!一文读懂检索增强生成(RAG)技术:企业级大模型增强利器

本文详细介绍了检索增强生成(RAG)技术,这是一种利用企业专有数据增强开源预训练模型的方法,无需重新训练即可创建特定领域的LLM。文章探讨了RAG的工作流程、标准解决方案架构、相关技术以及在实际应用中的计算需求、数据隐私和安全性考量,并特别介绍了英特尔在RAG优化方面的技术贡献。

python12345_的博客 1612

什么是无人机电源管理模块?电源管理模块有什么用处?

我来描述一下我的问题情景,电源管理模块的定义是,这里给出这个PX4官方对于电源管理模块的一些介绍,补充一下锂电池的放电原理大家就可以更好理解为什么需要电源管理模块

HRWVY0725的博客 2273

一文搞懂RAG:检索增强生成技术,解决大模型落地难题,程序员必备收藏

一文搞懂RAG:检索增强生成技术,解决大模型落地难题,程序员必备收藏

2301_76168381的博客 690

在VM虚拟机的MobaXterm下安装JDK17

本文介绍了在Linux系统下安装配置JDK17的完整步骤:1)从Oracle或OpenJDK官网下载Linux版JDK17压缩包;2)上传至/usr/local目录;3)解压安装包;4)通过编辑/etc/profile文件配置环境变量,添加JAVA_HOME和PATH路径;5)使用source命令使配置生效;6)通过javac -version验证安装是否成功。整个过程涵盖了从下载到环境配置的完整流程,确保Java开发环境正确设置。

qq_2937655951的博客 442

SV fork join_none & for循环结合使用

fork join_none与循环联用常见问题解决方案

ZhangShuHuai11的博客 880

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

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

kaka0722ww的博客 1838

mediasoup源码分析(二十)服务端架构设计

目录 简介 信令服务(房间服务) 调度服务 媒体服务 简介 流媒体服务器大的方向上可以分为上述三个模块。目前行业内都是分布式服务,独立部署。mediasoup信令与媒体之间虽然可以管道通信。但在行业内,服务之间通过管道通信用的少。 一般是rpc、mq,或者传统的tcp。这块licode架构比较不错,licode是信令和媒体服务通过MQ消息队列解耦。 下面介绍一下这三个服务主要功能,当然文中所说也是一家之言。 信令服务(房间服务) 信令服务也称为房间服务。有的企业把信令和房间分开,信..

lcalqf的专栏 1545

【收藏必备】深入浅出RAG技术:大模型时代检索增强生成的完整指南

文件类型和版面的持续优化:这是一个长期需要优化的过程,话繁多样的文件格式,每种格式存在不同的版面,该部分存在版面识别算力资源和效率之间的trade-off,使用诸如PP-DocLayoutV2+PaddleOCR的方式可以对文件很好的做拆分然后单独识别,但是面对线上每日成千上万的文档这样的资源耗费量是巨大的;

kaka0722ww的博客 963

学Simulink--基于多物理场耦合与系统集成的储能系统场景实例:压缩空气储能(CAES)系统的热力学建模与效率分析

本文提供了一个基于Simulink的压缩空气储能(CAES)系统热力学建模教程。通过多物理场耦合方法,详细演示了从系统架构设计到仿真测试的全过程,包括多级压缩机/膨胀机系统搭建、显热蓄热系统设计以及效率分析。文章重点强调了热管理对提升CAES效率的关键作用,并给出了68%电-电效率的优化案例。最后提出了变工况建模、不同蓄热介质对比等高级优化方向,为开发零碳大容量储能系统提供了实用工具和方法。

amy_mhd的博客 131

深度学习工具包 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的局限性,并强调AI项目的本质是数据工程系统,80%时间花在数据清洗和检索优化上。先说痛点。大模型(LLM)有两个致命毛病:要解决这个问题,最笨的方法是微调(Fine-tuning),但这玩意儿成本高得离谱,而且你今天调完,明天数据又更新了,模型还更好,难道换模型重新调?企业亏麻了。所以,RAG(

AI大模型的博客 1217

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

大模型落地必备:检索增强生成(RAG)技术深度解析

检索增强生成(RAG)通过 “外部知识检索 + 模型动态生成” 的组合拳,让大语言模型从 “记忆有限的智者” 进化为 “博古通今的专家”。无论是企业客服、医疗诊断还是实时分析,RAG 都展现出强大的落地潜力。实践建议从垂直领域切入:优先在知识更新快、合规要求高的场景(如金融、医疗)部署 RAG。工具选型参考:入门可使用 LangChain+FAISS+GPT-3.5,进阶可尝试 Elasticsearch+LLaMA-2。你最想在哪个场景中应用 RAG?

佑瞻的博客 879

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【LLM基础】—— RAG检索增强生成

摘要 RAG(检索增强生成)技术通过将外部知识库与LLM结合,有效解决大语言模型的知识幻觉和过期问题。其核心是"检索-生成"两阶段流程:离线构建向量化知识库,在线检索相关片段并生成回答。相比微调和Prompt硬塞方案,RAG在准确性、灵活性和成本间取得平衡。本文提供从原型到生产的全栈技术选型建议,并演示基于Ollama+Chroma的本地化实现方案,包括文档分块、向量检索和Prompt优化等关键环节,为LLM落地企业知识管理提供实用指南。

花间相见的博客 971

必收藏!RAG检索增强生成详解(小白/程序员入门大模型必备)

RAG(Retrieval Augmented Generation,检索增强生成)技术,最早由Facebook(现Meta)在2020年发布的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出——可能很多新手会惊讶,这项现在看似“热门”的技术,其实早在4年前就已经诞生。这篇论文要解决的一个问题非常简单:如何让大语言模型使用外部知识进行生成。通常,预训练模型。

weixin_72959097的博客 684

收藏级!检索增强生成(RAG)从入门到企业级落地全解析【小白&程序员必备】

RAG作为大模型落地的核心技术,是小白和程序员进入AI领域的优质切入点。其核心价值在于“让大模型有依据地说话”,解决了纯LLM的幻觉和时效性问题,已成为企业智能问答、知识库管理的标准方案。

2301_76168381的博客 1365

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

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

2401_85375186的博客 1423

什么是RAG?一文搞懂检索增强生成技术,大模型入门到精通,收藏这篇就足够了!

LLM训练的数据往往是静态的、封闭的,这使得它们在面对时效性强、专业性高、上下文复杂的问题时,力不从心。

Y525698136的博客 964

RAG 系统实战指南:检索、生成与工程落地

文章强调RAG系统实现了"知识可控、推理可解释"的企业级需求,指出2025年RAG将向Agentic方向演进,支持更复杂的多步推理和自修复能力。文末提供了技术选型决策树和常见实施误区,为实际落地提供指导。

sinat_28916141的博客 752

RAG检索增强生成技术,看这篇文章就够了

外接知识库可以随时更新,保证答案的时效性专业精准:可接入专业领域的数据库,提供权威答案有据可查:每个答案都有来源依据,可追溯可验证

2301_81888214的博客 1114

大模型又在瞎编?RAG 检索增强生成终极指南:从原理到落地,根治 95% 的事实幻觉

提示词只能缓解幻觉,RAG 才是根治私有知识捏造的终极方案 —— 从零搭建企业级私有文档问答系统

weixin_62393776的博客 1523

收藏备用!一文搞懂RAG与Agentic RAG:大模型进阶必备知识

RAG(检索增强生成)是提升生成式AI模型性能的核心框架,核心逻辑是通过实时检索外部知识源,为AI补充“新鲜且精准”的信息,从而解决大模型“知识滞后、易 hallucinate(产生幻觉)”的问题,让生成内容更靠谱、更丰富。而AI Agent(智能体)则是具备自主感知、逻辑推理、执行动作与持续学习能力的软件系统,能独立应对复杂场景下的任务。当RAG与AI Agent相结合,就能打造出功能更全面、适配性更强的AI系统。

EnjoyEDU的博客 1071
上一篇: 别再盲目跟风 AI!11 大行业重塑案例 + 趋势,这篇全梳理
下一篇: 秒懂大模型:从 0 到 1 深度定制大模型,这些核心环节不能少(小白也能看懂的收藏指南)
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值