什么是RAG与我们为什么要用RAG?

Agentic RAG:RAG从静态到具有理解、推理、决策的Agentic RAG RAG技术演进:从静态检索到智能代理 RAG(检索增强生成)技术经历了五个关键发展阶段:基础RAG(关键词检索)、高级RAG(语义理解)、模块化RAG(灵活架构)、图RAG(知识图谱)和最新的Agentic RAG(智能代理)。Agentic RAG通过引入自主AI代理,具备反思、规划、工具使用和多代理协作能力,实现了动态决策和自适应工作流。相比传统RAG的静态检索流程,Agentic RAG能处理复杂多步推理任务,通过自我改进机制提高输出质量,并支持多专业代理协作,显著提升了RAG系统在复杂场景下的表现。 阅读详情

检索增强生成(RAG)是一种流行的技术,通过在生成答案之前从知识库中检索相关的外部知识来增强 LLM 的响应。RAG 提高了准确性,减少了幻觉,并使模型能够提供更符合上下文和更新的信息。

RAG 包括三个步骤:检索、增强和生成。

检索 - 在此步骤中,系统会在外部知识源(例如向量数据库)中搜索相关信息,以基于用户查询找到相关的信息。

增强 - 检索到的信息随后与原始用户查询结合,形成 LLM 的提示。

生成 - LLM 处理提示并生成响应,整合其预训练知识和检索到的信息。这使得响应更加准确且符合上下文。

让我们通过一个简单的例子来理解 RAG。

m9MoNp

1 - 用户提出查询

示例:2025年ICC冠军奖杯的获胜者是谁?

2 - 检索器在知识源(例如维基百科或互联网)中搜索,并返回相关上下文。

示例检索上下文:"2025年ICC冠军奖杯于2月19日至3月9日在巴基斯坦和阿拉伯联合酋长国举行,最终印度成为胜利的冠军,赢得了该赛事历史上的第三个冠军。主要由巴基斯坦主办——这是自1996年以来他们的首次全球板球赛事——该赛事实施了混合模式,由于地缘政治考虑,印度的所有比赛都在迪拜进行。决赛在迪拜国际板球场上演了一场紧张的比赛,印度以四个门柱的优势击败新西兰,追平了252分的目标,并且还剩下一局。 "

3 - 查询、相关上下文和指令被组合成一个提示。

示例提示:

"仅根据上下文回答查询。如果在上下文中找不到查询的答案,请回复 - 我无法回答该查询。

查询:2025年ICC冠军奖杯的获胜者是谁?

*上下文:*2025年ICC冠军奖杯于2月19日至3月9日在巴基斯坦和阿拉伯联合酋长国举行,最终印度成为胜利的冠军,赢得了该赛事历史上的第三个冠军。主要由巴基斯坦主办——这是自1996年以来他们的首次全球板球赛事——该赛事实施了混合模式,由于地缘政治考虑,印度的所有比赛都在迪拜进行。决赛在迪拜国际板球场上演了一场紧张的比赛,印度以四个门柱的优势击败新西兰,追平了252分的目标,并且还剩下一局。"

4 - 提示被输入到大型语言模型 (LLM) 中,LLM 根据提供的上下文为用户查询生成答案。

示例输出:“印度在迪拜国际板球场举行的决赛中以四个门柱的优势击败新西兰,赢得了2025年ICC冠军奖杯。”

RAG 应用

AI 搜索引擎

AI 搜索引擎使用 RAG 通过将大型语言模型与实时数据检索相结合来增强搜索结果,提供准确且符合上下文的答案。它们擅长理解自然语言查询并从海量数据集中提取信息,使搜索更加直观和高效。

客户服务聊天机器人

客户服务聊天机器人利用 RAG 通过检索公司特定数据(如常见问题或产品手册)并生成类似人类的回复,提供个性化和准确的响应。这缩短了响应时间,提高了客户满意度,并处理了超出简单脚本答案的复杂查询。

法律文件分析

法律文件分析采用 RAG 筛选大量的法律文本、合同或判例法,检索相关的条款或先例,并用通俗易懂的语言总结它们。它通过加速研究、确保准确性并从密集的文档中识别关键见解来帮助律师。

科学研究辅助

科学研究辅助使用 RAG 通过检索和综合来自科学论文、数据集或实验的信息,为研究人员提供简洁的摘要或假设。它简化了文献综述、事实核查和跨大量研究存储库探索复杂主题的过程。

医疗决策支持

医疗决策支持将 RAG 集成到患者数据、医学文献或治疗指南中,协助医生做出基于证据的建议或诊断。它通过提供最新的、特定上下文的见解来增强决策过程,同时优先考虑患者隐私和准确性。

个性化教育

个性化教育应用 RAG 定制学习体验,检索相关的教育资源并生成适合学生学习进度和理解水平的解释。它通过适应个人需求并有效填补知识空白来支持导师或自学者。

技术文档搜索

技术文档搜索利用 RAG 导航复杂的手册、代码库或故障排除指南,检索精确的解决方案并清晰地解释它们。它通过快速解决技术查询并提供具有上下文感知的详细响应,为开发人员和工程师节省时间。

为什么需要 RAG?

大型语言模型(LLMs)通常在庞大的数据集上进行训练,这些数据集包括书籍、维基百科、网站的文本以及来自 GitHub 仓库的代码。这些训练数据收集到特定日期为止,这意味着 LLM 的知识有一个与训练数据最后更新时间相关的截止点。例如,如果 LLM 的训练数据只到2023年12月,那么它对之后发生的事情一无所知。

KXy4aS

没有 RAG 时,当用户询问超出该截止日期的事件、发展或信息时,LLM 面临一个问题:它要么无法提供答案(使查询未解决),更糟糕的是,它可能会“幻觉”,生成听起来合理但不正确的响应。这是因为 LLM 被设计为根据其训练数据中的模式预测和生成文本,而不是天生能够区分它们知道什么和不知道什么。

CDOKJE

通过 RAG,这一限制通过集成检索机制得以解决。当提出查询时——尤其是与近期事件相关的查询——检索器会从外部来源(如网络数据、数据库或 X 等平台上的帖子)实时获取相关且最新的上下文。

然后将检索到的信息作为附加上下文提供给 LLM,使其能够基于最新可用数据生成准确且有依据的响应,而不仅仅是依赖其静态的预训练知识。本质上,RAG 弥补了 LLM 固定训练截止点与不断变化的世界之间的差距,确保更可靠和当前的答案。

VJZQU2

总结如下:

LLMs 在大量书籍、维基百科、网站文本和 GitHub 代码库中进行训练。然而,它们的训练数据仅限于特定日期之前可用的信息。这意味着它们的知识在该日期被截断。

没有 RAG 的问题

  • LLMs 无法回答 关于其训练截止日期之后发生的事件或事实的查询。

  • 它们可能会生成不正确或幻觉的响应,使得它们在提供最新信息时不可靠。

带有 RAG 的解决方案

  • 检索

     来自外部知识源(如数据库、API 或私人文档)的相关内容。

  • 提供

     检索到的相关内容作为上下文与查询一起提供给 LLM,使其能够生成事实准确的答案。

  • 确保响应以检索到的信息为依据,减少幻觉。

因此,RAG 通过保持 LLM 更新来增强它们,而无需频繁重新训练。

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

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

​

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

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

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

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 ↓

阶段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.3 流水线工程
    • L2.4 总结与展望

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

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容:

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

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

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容:

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

​

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

相关推荐

RAG 入门指南:从零开始构建一个 RAG 系统

在开始之前,我还是打算再次简要的介绍一下 RAG。在 Meta 的官方 Blog 上有这样一段话:这段话主要讲述了一个新的模型架构,也就是RAG (检索增强生成)的重要性和优势。可以概括为以下几点:1. 构建一个能够进行研究和上下文分析的模型虽然更具挑战性,但对未来的技术进步非常关键;2. 通过在知识密集的下游任务上微调,RAG 可以实现最先进的结果,比现有的最大的预训练序列到序列语言模型还要好;3. 与传统的预训练模型不同,RAG 的内部知识可以轻松地动态更改或补充。

mama19971023的博客 2796

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

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

star_nwe的博客 3万+

一问讲透什么是 RAG,为什么需要 RAG?

如果使用 pretrain 好的 LLM 模型,应用在你个人的情境中,势必会有些词不达意的地方,例如问 LLM 你个人的信息,那么它会无法回答;这种情况在企业内部也是一样,例如使用 LLM 来回答企业内部的规章条款等。 这种时候主要有三种方式来让 LLM 变得更符合你的需求:

weixin_53880910的博客 1348

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

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

AAI666666的博客 1803

深入分析传统RAG与Agentic RAG

文章摘要: RAG技术通过连接LLM与外部知识库解决知识滞后与内容幻觉问题。传统RAG采用线性“检索-生成”流程,适合简单问答但无法处理多跳推理;Agentic RAG引入智能体决策,通过查询优化、工具选择和循环评估应对复杂任务,但开发成本更高。两者并非替代关系:传统RAG适合低延迟简单场景(如客服),Agentic RAG擅长度身定制复杂分析(如行业报告)。未来趋势可能是动态切换两种模式,根据任务复杂度平衡效率与能力。选择时需权衡响应速度、开发成本与任务复杂度。

qq_35354529的博客 1296

【AI大模型应用开发】3. RAG初探 - 动手实现一个最简单的RAG应用

大模型也不是万能的,也有局限性。RAG是提高大模型在垂直领域能力和减少幻觉的通用方法论,非常重要和有用。本文带你动手实现一个最简单的RAG应用,你将学会一个标准RAG的通用流程和原理。

同学小张的博客 5263

【RAG入门】什么是 RAG,为什么要用 RAG?

如果使用 pretrain 好的 LLM 模型,应用在你个人的情境中,势必会有些词不达意的地方,例如问 LLM 你个人的信息,那么它会无法回答;这种情况在企业内部也是一样,例如使用 LLM 来回答企业内部的规章条款等。

pythonhy的博客 1791

黑马Java第二阶段:JavaWeb(笔记)

黑马Java第二阶段:JavaWeb(笔记)

chen的博客 5667

什么是RAG与为什么要RAG

大家好,我是AI拉呱,一个专注于人工智领域与网络安全方面的博主,现任资深算法研究员一职,热爱机器学习和深度学习算法应用,拥有丰富的AI项目经验,希望和你一起成长交流。检索增强生成(RAG)是一种流行的技术,通过在生成答案之前从知识库中检索相关的外部知识来增强 LLM 的响应。RAG 提高了准确性,减少了幻觉,并使模型能够提供更符合上下文和更新的信息。RAG 包括三个步骤:检索、增强和生成。在此步骤中,系统会在外部知识源(例如向量数据库)中搜索相关信息,以基于用户查询找到相关的信息。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 1175

PS/Ai/PR/AE等adobe出现正版弹窗提示:Your non-genuine Adobe app will be disabled soon解决办法

就是用专门的清理工具下载,清理工具在文章下方。然后新建三个空的记事本文件,重命名为 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。在该文件目录中,分别找到 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe,然后在防火墙入站规则里,阻止Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。

Q82556499的博客 1万+

基于YOLOv5与海康工业相机的高分辨率实时检测实践

本文详细介绍了基于YOLOv5与海康工业相机的高分辨率实时检测实践,通过优化相机配置、网络传输和YOLOv5模型适配,实现了每秒15帧以上的实时检测性能,缺陷识别准确率高达99.2%。特别适用于电子元件焊接点检测、精密齿轮齿痕检查等对微小缺陷敏感的场景。

weixin_30872499的博客 475

为什么一定要用RAG?什么是RAG?

为了解决大型语言模型在生成文本时面临的一系列挑战,提高模型的性能和输出质量,研究人员提出了一种新的模型架构:检索增强生成(RAG, Retrieval-Augmented Generation) 。

2401_82469710的博客 851

QWEN 2.5模型结构解析与代码解读

对Qwen2.5大模型的代码进行研究

4368

RAG笔记【必收藏】:RAG基础入门 - 为什么要用RAG?到底什么是RAG?

RAG,全称为Retrieval-Augmented Generation(检索增强生成),本质是一种「先找资料再回答」的技术方案。它不是替换大模型,而是给大模型加一个「信息检索助手」——当用户提问时,先从权威的外部数据库里找到最相关的资料,再把资料和问题一起交给大模型,让大模型基于这些真实资料生成答案。简单说,没有RAG的大模型是「凭记忆答题」,有RAG的大模型是「翻着参考书答题」,准确率自然天差地别。摄取(Ingestion)

xxue345678的博客 1048

从真题到策略:浙江工业大学计算机转专业机试全解析与备考指南

本文全面解析浙江工业大学计算机转专业机试的考试概况、典型真题和高频考点,提供详细的备考策略和面试准备建议。从机试题目类型到解题技巧,帮助考生高效备考,顺利通过这一竞争激烈的转专业关卡。

weixin_42524824的博客 423

第3章 基于三电平空间矢量的中点电位平衡策略

本文档深入探讨了基于三电平空间矢量的中点电位平衡策略。重点在于NPC型三电平逆变器的中点电位平衡问题,由于三电平结构的特点,使得直流侧两个电解电容器的充放电不均匀导致中点电压不均衡。文章通过对不同矢量作用下电流、电压的变化进行了详细的定量和定性分析,并提出了利用冗余小矢量的合理配置以及引入调制因子来解决中点电位偏移的方法,确保中点电压在一个完整的开关周期内的稳定性,进而提高系统的可靠性。

嵌入式老牛的博客 2184

一文了解什么是 RAG?为什么需要 RAG?RAG 的流程!

本文从大模型的局限性切入,探讨了检索增强生成架构的核心机制及其带来的好处。RAG 通过结合检索和生成能力,能从外部知识库搜索相关信息,生成更准确的回应,有效克服了大模型在知识更新上的短板。AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

star_nwe的博客 1万+

光学传播仿真软件:SPEOS_(14).建筑物内光环境仿真

在建筑物内光环境仿真中,材料属性的定义直接影响光的传播和反射效果。SPEOS提供了丰富的材料库,但也可以自定义材料属性以满足特定需求。创建新材料选择Materials->。输入材料名称和类型。配置材料属性选择材料对象,打开属性编辑器。设置反射率、透射率、表面粗糙度和颜色。# 导入SPEOS模块# 创建新材料# 配置材料属性custom_material.set_reflectivity(0.8) # 设置反射率为0.8。

kkchenjj的博客 1251

【RAG】有了deepseek,为什么还要做RAG

【RAG】有了deepseek,为什么还要做RAG

扶着老奶奶闯红灯 1177

Oracle EBS FA 创建成批增加执行时间长且报错

摘要 Oracle EBS系统在执行"创建成批增"请求时出现长时间运行并报错(ORA-00603和ORA-03114)。

陈显平的专栏-Oracle EBS 174

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

为什么RAG,如何RAG和怎么做RAG?

检索增强生成(RAG)是一种流行的技术,通过在生成答案之前从知识库中检索相关的外部知识来增强 LLM 的响应。RAG 提高了准确性,减少了幻觉,并使模型能够提供更符合上下文和更新的信息。RAG 包括三个步骤:检索、增强和生成。检索 -在此步骤中,系统会在外部知识源(例如向量数据库)中搜索相关信息,以基于用户查询找到相关的信息。增强 -检索到的信息随后与原始用户查询结合,形成 LLM 的提示。生成 -LLM 处理提示并生成响应,整合其预训练知识和检索到的信息。这使得响应更加准确且符合上下文。

sinat_33203678的博客 1176

深度学习工具包 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 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

一文讲清楚RAG 四大模式:Naive RAG、Advanced RAG、Modular RAG 与 Agentic RAG

python12345_的博客 5914

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

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

RAG是什么,一文看懂什么是RAG

检索增强生成(RAG)是一种用于构建大型语言模型(LLM)驱动型应用的技术。它借助外部知识源,为大型语言模型提供相关背景信息,从而减少幻觉现象。就好比给 LLM 配备了一个小型的“资料库”,当用户提出问题时,系统会在资料库中查找相关内容并提供给 LLM,以帮助其生成更准确的回答。基本的 RAG 流程包括检索组件(通常由嵌入模型和向量数据库组成)和生成组件(大型语言模型)。在推理阶段,用户问题用于在已索引的文档上执行相似性搜索,检索出与问题最相似的文档,并为大型语言模型提供额外的背景信息。

ytt0523_com的博客 3418

【LLM大模型】为什么一定要用RAG?什么是RAG

大型语言模型(LLM)相较于传统的语言模型具有更强大的能力,然而在某些情况下,它们仍可能无法提供准确的答案。

DEVELOPERAA的博客 1093

RAG综述-from native rag to agentic rag

1.朴素RAG1.朴素RAG朴素rag就是最传统的rag,流程如图,首先把文档输入embedding模型,然后存入向量数据库。然后当用户输入时候,User Query输入同一个embedding模型,然后去向量数据库做关键词向量相似度匹配(而不是语义匹配),把最接近的Top-K拿出来作为prompt中的上下文去回答。朴素 RAG 系统为 “检索与生成整合” 提供了关键的概念验证,为更复杂的范式奠定了基础。:由于依赖词汇匹配而非语义理解,检索到的文档往往无法捕捉查询的语义细微差别。

weixin_55265194的博客 1180

为什么说Agentic RAG是RAG领域的王者?

我们了解RAG的核心思想是将检索机制与大模型相结合,通过动态检索外部知识库来增强模型的生成能力,并生成上下文相关且准确的响应。RAG突破了目前大模型的静态知识限制,拓展了大模型开启了“生成+检索”协同工作的新范式。

m0_59235699的博客 951
上一篇: RAG是如何工作以及开发栈是什么样的?
下一篇: 李宏毅生成式 AI 导论:最好的 LLM 大模型教程!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值