25种RAG架构大揭秘:AI项目如何选型?

(13-2)RAG基础知识介绍:RAG的架构 因此,RAG的核心理念可以概括为“检索+生成”,前者利用向量数据库的高效存储和检索能力召回目标知识,后者则利用大型模型和Prompt引擎,将召回的知识合理应用,生成目标答案。在应用阶段,根据用户提问通过高效的检索方法召回与问题相关的知识,并将其融入到Prompt中,大型模型会参考用户提问和相关知识生成最终的答案。数据准备是RAG应用中的离线过程,旨在将私域数据转化为可检索的向量表示,并存储于数据库中,这个过程主要包括数据提取、文本分割、向量化和数据入库等环节。完整的RAG应用流程主要包含两个阶段。 阅读详情

img

在当今的AI时代,你是否想过,如果AI能够每次都从全球知识中精准地提取完美答案,那会是怎样的体验?检索增强生成(Retrieval-Augmented Generation,简称RAG)正是实现这一目标的幕后英雄。从ChatGPT引用来源的能力到企业AI扫描数千份文件,RAG为语言模型提供了现实世界的根基。然而,RAG并非“一刀切”的解决方案。随着时间的推移,AI研究人员设计了多种专门的RAG架构,每种架构都针对不同的现实世界瓶颈进行了优化,比如幻觉、响应延迟、较差的现实根基或有限的上下文。那么,面对25种不同的RAG类型,你该如何选择呢?今天,我们就来深入剖析这25种RAG架构,帮助每一位AI工程师找到最适合的方案。

1. 标准RAG:基础中的经典

img

先从最经典的开始。标准RAG结合了检索器和生成器。检索器从知识库中搜索相关文档,而生成器(比如GPT-4)则利用这些证据来生成回答。

核心特点

  • 将文档分解为可管理的块,便于检索。
  • 只检索最相关的信息,以供LLM使用。
  • 适合实时响应(约1-2秒)。

应用场景

  • 客户支持机器人从常见问题文档中实时获取答案。

实践项目

法律文件问答系统

标准RAG在需要提取相关文本块并生成回答的领域表现出色,非常适合法律问答。你可以构建一个聊天机器人,通过检索案例法、政策或合同来回答用户问题。使用FAISS或Weaviate等向量数据库存储分块的法律文件。标准RAG保持架构简洁:检索→生成,没有多余的装饰。它非常适合法律领域的回答,结构和引用比推理链更重要。

企业内部知识助手

标准RAG非常适合为小型到中型团队构建快速、简洁的内部帮助台助手。它可以搜索维基、人力资源文档、入职指南和技术标准操作程序。由于上下文大多是事实性和直接的,基本的检索+生成就能覆盖80%的用例。标准RAG轻量级、可解释,不需要额外的代理工具或重新排序。它非常适合MVP和快速内部工具,速度和简洁性至关重要。

2. 纠正型RAG:编辑介入的修正

你是否曾觉得AI的回答“差点就对了”?纠正型RAG就是为了解决这个问题。它通过反馈循环来优化回答,从自身的错误或用户反馈中学习。

核心特点

  • 多次迭代修正。
  • 通过提高精确度来提升用户满意度。
  • 反馈驱动的生成循环。

应用场景

  • 在线学习平台根据学生或教师的反馈自动修正生成的测验答案。

实践项目

医疗聊天机器人与医学文档检索

在医疗领域,幻觉可能会带来危险。纠正型RAG增加了一个验证层,以降低风险。这个项目构建了一个医疗助手,从临床指南中检索信息,然后检查生成的回答是否符合事实。纠正型RAG有助于标记并纠正误导性的LLM输出,确保回答基于真实的医学来源。这对于患者常见问题或提供者支持工具来说是完美的,其中精确性和信任是不可妥协的。通过在生成后重新检查和修订输出,系统避免了过度自信和错误信息。

面向零售投资者的金融咨询助手

金融建议必须准确且有根据。纠正型RAG强制执行这一标准。在这个项目中,用户询问投资问题,助手从SEC文件、金融新闻和ETF文档中检索信息。LLM生成初步回答,纠正型RAG流程使用检索到的事实进行批评和编辑。这种双重检查机制有助于减少投机领域常见的幻觉。这对于在受监管行业中建立非专家用户的信任非常有帮助。

3. 推测型RAG:快速起草,智能验证

可以将其视为“先画草图,再精心润色”的策略。推测型RAG使用一个小型、快速的模型来起草回答,然后使用一个更大的模型来验证和优化它们,就像一个初级-高级编辑团队一样。

核心特点

  • 并行起草提高速度。
  • 通用模型确保最终质量。
  • 在延迟和准确性之间实现高效平衡。

应用场景

  • 需要快速且准确无误的新闻摘要机器人。

实践项目

SmartSpec:电商产品描述生成器

构建一个可扩展的工具,使用推测型生成快速起草吸引人的产品描述,然后根据规格和目录验证准确性。对于电商平台来说,速度和创造力固然重要,但准确性绝对不能妥协。推测型RAG允许使用较小、较快的模型来起草产品内容,而更强大的验证器则确保与检索到的规格保持事实一致性。这不仅加快了海量产品目录的上市时间,还保持了用户信任和合规性。它非常适合在推出多语言列表时平衡规模和质量,确保LLM不会凭空捏造产品特性或违反平台政策。

AutoAssist:经过验证的客户支持邮件回复器

这是一个由人工智能驱动的助手,能够快速起草支持回复,并通过验证内部工单数据来确保事实准确性。为处理高工单量的支持团队开发一个快速响应的客户邮件回复工具。推测型模型可以实时起草礼貌且信息丰富的回复,而验证模型则使用相关的工单历史记录或公司政策进行修正。这种方法在提升客服代表工作效率的同时,也不会损害品牌声音或事实准确性。推测型RAG非常适合在需要人类速度但机器可靠性的情况下使用,它能够实现快速且可验证的生成,是半自动化人机协作系统的理想选择。

4. 融合型RAG:多源汇聚,精准作答

为什么只依赖单一来源,而不汇聚多方智慧呢?融合型RAG从多个检索器和数据源中提取信息,并将结果融合在一起。这不仅增加了知识的多样性,还提高了答案的准确性和可靠性。

核心特点

  • 知识输入来源多样化。
  • 动态适应不同的检索策略。
  • 减少因单一来源故障或偏见而导致的问题。

应用场景

  • 金融分析工具,整合来自监管文件、市场新闻和专家意见的见解。

实践项目

跨平台法律咨询助手

创建一个能够从多个平台(包括法院裁决、法律数据库和行业新闻网站)中提取法律信息的人工智能助手。该系统应能够无缝整合这些不同的数据源,并根据具体问题生成准确的法律建议,确保助手能够处理涉及复杂法律场景的问题。该系统的强大之处在于将这些来源结合起来,产生连贯且精确的答案。

多语言客户支持聊天机器人

开发一个能够从多种语言和文化背景中提取信息以回答问题的客户支持聊天机器人。融合型RAG方法将使聊天机器人能够无缝地从全球支持数据库、知识文章和本地化资源中提取信息,将这些不同的部分整合起来,以客户首选的语言和文化相关的方式回答问题。这将确保在多元化的客户群体中,回答更加准确且具有上下文相关性。

5. 代理型RAG:自主知识探索者

事情开始变得有趣了。代理型RAG使用代理——独立的决策者——根据实时策略动态地规划、检索和生成内容。

核心特点

  • 基于模块的代理系统。
  • 并行任务执行。
  • 深入理解用户意图。

应用场景

  • 能够处理复杂、多步骤科学查询的人工智能研究助手。

实践项目

自主政策研究助手

构建一个帮助政策分析师生成报告的代理,它能够自主地从立法数据库、学术研究论文和当前新闻文章中检索和比较数据。该代理会迭代地推理矛盾之处,根据可信度对来源进行对齐,并生成带有引用来源的政策简报。该代理会规划子任务——比如从不同领域获取数据、比较时间线和检查来源偏见——然后生成摘要。

初创公司竞争情报代理

创建一个持续监控竞争对手网站、新闻稿、融资消息、招聘启事和社会媒体的人工智能代理。它将这些更新综合成每周的市场分析简报。该代理自主设置检索目标(例如,“寻找新的产品发布”),获取最新数据,总结更新,并使用RAG评估策略变化。

6. 自我型RAG:反思型思考者

自我型RAG并不总是求助于知识库。相反,它首先使用自己的先前输出作为检索基础,然后再寻求外部帮助。

核心特点

  • 使用内部输出进行迭代细化。
  • 提高连贯性和一致性。
  • 减少不必要的检索。

应用场景

  • 需要在各章节中保持叙事连贯性的长篇故事创作人工智能。

实践项目

学术研究评论助手

构建一个帮助学生或研究人员审查学术论文的助手。该代理检索相关作品,反思证据是否支持或反驳论文的主张,并生成评论或摘要。该代理需要自我评估检索到的来源是否足够相关或矛盾,并据此细化其输出。

人工智能政策的伦理风险分析器

开发一个评估提议的人工智能伦理政策(例如,面部识别规则)的系统。该代理检索案例研究、研究和新闻示例,然后反思其使用的证据中的差距或偏见,以进行评估。伦理评估需要细微差别。反思循环允许该代理重新考虑其检索是否公平地代表了政策问题的双方,并重新生成具有平衡来源的输出。

7. 自适应型RAG:每次检索都智能

并非所有问题都需要检索。自适应型RAG使用置信度分数来决定何时检索,何时不需要。

核心特点

  • 使用内部模型信号触发检索。
  • 平衡记忆与外部知识。
  • 使用“诚实探针”避免幻觉。

应用场景

  • 虚拟医疗助手仅在复杂病例时咨询数据库,而使用内部记忆回答简单问题。

实践项目

企业帮助台优化器

构建一个智能帮助台系统,用于内部IT团队,根据用户的角色和查询类型调整其检索方法。例如,当开发运维工程师询问有关容器错误的问题时,触发技术日志/文档检索;而新员工询问有关VPN访问的问题时,则触发常见问题和入职资料。自适应型RAG检测用户上下文,并相应地调整检索层——对于常规查询,拉取最少的用户特定文档;对于复杂问题,则拉取更深入的技术工件。

自适应临床决策支持工具

创建一个为医生量身定制的工具,根据患者症状的严重性和模糊性调整其医疗信息检索。对于常规诊断,它从临床指南中拉取信息;对于模糊或罕见病例,它扩展到学术研究、临床试验和专家访谈。不同病例需要不同深度的证据。自适应型RAG确保检索具有上下文敏感性——足够智能,能够根据需要扩展或缩小信息范围。

8. REFEED(检索反馈):无需训练即可微调

REFEED通过优化检索而非重新训练模型来提升回答质量。

核心特点

  • 根据检索后信号重新排序答案。
  • 结合检索前和检索后内容。
  • 迭代改进输出。

应用场景

  • 企业搜索引擎通过观察用户点击或高度评价的文档来持续改进。

实践项目

智能招聘面试助手

构建一个帮助人力资源专业人士进行结构化面试的人工智能工具。当助手提问或回答问题时,它从用户更正(例如,“这不是正确的政策”或“这是过时的”)中学习,并相应调整未来的检索——浮出更相关的内部文件、政策更新或候选人评估标准。该系统无需全面重新训练;它只是根据反馈更新检索和重新排序信息的方式。随着时间的推移,助手变得更好,能够与每个人力资源团队的独特风格和政策变化保持一致。

具有用户更正功能的自适应编码助手

创建一个编码助手,它从论坛、文档和过往项目中检索信息,以建议代码片段和架构模式。当开发人员对建议进行负面评价或重写时,助手使用该反馈来调整其未来的检索行为——优先考虑更新的框架、更高质量的示例或企业特定的代码。它无需重新训练LLM即可实现快速个性化。检索行为通过反馈演变,以一种轻量级、非侵入式的方式逐步改进。

9. REALM:检索感知型语言建模

REALM是一种混合型生物——在预训练期间使用掩码语言建模训练检索器。

核心特点

  • 在训练期间使用维基百科规模的语料库。
  • 使用最大内积搜索(MIPS)训练检索器。
  • 非常适合开放域问答。

应用场景

  • 能够使用潜在文档表示“预先思考”答案的搜索感知型助手,例如谷歌助手。

实践项目

基于新闻档案的长篇传记生成器

创建一个能够通过检索和整合新闻档案、采访和文章中的相关文档来生成公众人物详细传记的助手。以REALM的方式对其进行训练,使其能够学习对人物故事重要的检索模式——时间顺序、事件重要性以及名称消歧。该项目从预训练模型中受益,使其能够识别不仅要检索什么,还要了解检索到的上下文如何塑造长篇叙事结构——这是REALM专门设计来处理的。

基于领域的医学问答系统

构建一个针对医学专业人士的问答系统,该系统使用REALM风格的训练技术——将从临床文献中的检索深度嵌入模型的语言建模管道。这不仅使其能够检索相关研究,还能在回答生成过程中理解其医学上下文。由于REALM在训练期间整合检索,该系统发展出对何时以及如何检索的细微理解,使其非常适合像医学这样受监管的领域,其中证据必须具有上下文相关性和精确性。

10. RAPTOR:基于树的推理

想象一下思维导图——这就是RAPTOR。它将内容聚类成一个分层树,用于多级检索——顶层是宽泛的主题,底层是具体细节。

核心特点

  • 高效回答分层、复杂问题。
  • 提供树遍历或折叠树模式。
  • 在处理细微任务时优于平面检索。

应用场景

  • 法律研究机器人通过从抽象到详细的分支检索法规和具体案例细节。

实践项目

复杂金融风险评估代理

构建一个帮助分析师评估投资风险的人工智能代理,通过将查询分解为多个子因素(例如,市场波动、监管变化、公司基本面)来引导检索。RAPTOR沿着每条路径(例如,央行新闻、行业报告、财务报表)引导检索,然后将它们综合成一个总体风险评估。金融风险是多方面的,从并行证据分支进行推理受益匪浅。RAPTOR确保在最终综合之前深入探索每个组成部分。

人工智能辩论教练

创建一个帮助辩论学生构建论点的工具,通过将论题(例如,“人工智能应该受到监管”)分解为子主题,如伦理影响、法律框架和经济影响。该系统为每个分支检索论点和反论点,帮助学生准备平衡且高质量的辩论要点。辩论准备需要在多个往往是相反的维度上进行推理。RAPTOR的树结构检索和推理帮助代理构建更强的多视角论点。

11. REVEAL:推理+视觉

REVEAL是一种针对视觉语言任务的RAG方法——想想GPT-4V。它将推理、任务对齐思维和现实世界根基相结合,以减少视觉查询中的幻觉。

核心特点

  • 基于现实世界的视觉事实。
  • 决策过程透明且可解释。
  • 少样本友好。

应用场景

  • 用于机械系统的视觉故障排除机器人,通过手册和日志“查看”机器部件并建议修复。

实践项目

制造业视觉合规检查器

构建一个能够将产品设计或包装图像与监管和品牌合规性检查表进行审计的人工智能助手。它提取视觉特征(例如,警告标签、布局、标志放置),检索有关相关标准(例如FDA或ISO)的文档,然后标记问题或推荐修复。该项目需要在视觉和文本证据之间进行推理。该代理必须分析图像,并将其发现与检索到的监管指南对齐,这是REVEAL的强项。

基于图表学习的教育导师

创建一个智能导师,帮助学生理解生物学、物理学或地理学中的视觉概念。当展示图表(例如,水循环或电路板)时,它检索相关的教科书内容,逐步解释视觉内容,并回答后续问题。从图表中学习需要系统能够解释视觉元素,并将其与解释性文本联系起来。REVEAL使这种视觉-文本融合成为可能,以支持丰富的教育对话。

12. REACT:先思考,再行动

REACT(推理+行动)为模型提供了一种带有可操作步骤的思考链方法,非常适合解决问题。它使代理能够通过推理逐步处理查询,然后通过调用搜索API、计算器、数据库或代码执行环境等工具来“行动”。REACT的独特之处在于检索并非被动的——它变成了一个主动的、由决策驱动的过程,代理决定何时检索、检索什么以及如何在上下文中使用它。

核心特点

  • 保持过去步骤的记忆。
  • 通过逻辑推理行动。
  • 增强透明度和可靠性。

应用场景

  • 通过生成假设、检查文档和逐步修改代码来调试的编码副驾驶。

实践项目

自主商业团队数据分析员

构建一个帮助商业分析师回答数据问题(例如,“为什么第三季度在欧洲、中东和非洲地区的收入下降了?”)的人工智能代理。它通过推理查询,从仪表板中拉取相关指标,检索会议记录或客户关系管理条目,运行计算,并以结构化的方式呈现带有视觉解释的回答。该代理需要在推理(“我需要欧洲、中东和非洲地区的收入趋势”)和行动(“查询销售数据库”)之间交替,使其成为REACT思考-行动循环的完美契合。

法律研究和起草助手

创建一个帮助律师起草论点或分析案例的法律人工智能。它可以检索相关的法规或先前的判决,通过先例进行推理,突出矛盾,并生成法律简报的大纲或初稿。法律任务往往需要代理根据不断演变的上下文采取智能行动——搜索数据库、解释条款以及构建逻辑论点。REACT的迭代决策循环支持这种复杂性。

13. 记忆型RAG:构建记忆,击败延迟

记忆型RAG旨在提高速度和效率。它随着时间的推移构建一个检索记忆缓存,记住以前查询中有用的文档。与其每次都重新查询整个语料库,系统会记住有用的先前检索,并重新使用高置信度的块,以节省时间并提高响应一致性。这使得代理能够在用户反复互动或上下文跨轮次延续时,以更低的延迟和更好的会话连续性运行。

核心特点

  • 记忆先前的检索。
  • 降低延迟和计算成本。
  • 非常适合重复或类似的问题。

应用场景

  • 客户服务机器人使用以前访问过的数据回答重复的账单或政策相关问题。

实践项目

持续学习人工智能教练

构建一个帮助用户掌握复杂学科(如人工智能、法律或医学)的个人学习助手。该助手记住以前会话中检索到的解释、关键概念以及误解的话题,并利用这些上下文为未来的回答或测验学习者提供个性化服务。由于学习之旅是逐步的,该代理受益于重新使用早期的见解,而不是从头开始检索一切。这使得互动更快,并且更符合每个用户的学习路径。

忙碌领导的执行简报助手

创建一个为高管总结正在进行的计划、过去的决策以及新更新的智能简报工具。当被问及“泰坦计划的状态如何?”时,它利用以前的总结和检索回忆即时回答。高管重视速度和一致性。记忆型RAG使系统能够回忆以前会话中的上下文丰富的块,确保更快的响应并减少重复。

14. 图形RAG:连接点

大多数RAG系统检索线性文本块。图形RAG通过连接实体和概念构建知识图谱,使模型能够在结构化的关系上进行推理。

核心特点

  • 知识的结构化表示。
  • 支持在复杂关系上进行推理。
  • 增强可解释性。

应用场景

  • 通过概念图在法规、案例法和条例之间导航的法律人工智能助手。

15. 双模RAG:两种优势的结合

双模RAG结合了两个生成器或检索器,以提高输出质量。这些可以是不同的模型,也可以是使用不同提示或检索基础的相同模型。

核心特点

  • 模型多样性减少幻觉。
  • 增强鲁棒性。
  • 鼓励输出之间达成一致。

应用场景

  • 比较并交叉验证使用两个不同医学知识库的建议的医疗聊天机器人。

16. 上下文感知型RAG:个性化且持久

这种RAG变体记住你的上下文——过去的对话、用户行为和偏好——并据此调整其检索。

核心特点

  • 对话记忆。
  • 基于用户历史的检索。
  • 个性化回答。

应用场景

  • 根据学习者过去的问题和错误调整解释的人工智能导师。

17. 集成型RAG:让专家来决定

为什么只选择一个模型,而你可以使用集成呢?集成型RAG将任务路由到多个RAG管道,选择或组合最佳输出。

核心特点

  • 结合不同RAG模型的优势。
  • 基于投票或排名的答案选择。
  • 鲁棒的回退机制。

应用场景

  • 需要在速度、成本和精度之间取得平衡的企业人工智能系统,通过在快速和彻底的管道之间切换。

18. 多模态RAG:超越文本

多模态RAG不仅检索文本,还将其知识库扩展到图像、视频、音频或表格数据。

核心特点

  • 跨模态检索。
  • 需要多模态编码器(例如CLIP、Flamingo)。
  • 解锁跨领域应用。

应用场景

  • 从艺术图像、音频导游和历史文本中提取信息以回答访客问题的虚拟博物馆导游。

19. 联邦型RAG:私密且分布式

当数据分散(例如医院或银行)时,联邦型RAG可以从本地来源检索信息,而无需集中数据。

核心特点

  • 保护隐私的架构。
  • 支持边缘和离线模式。
  • 本地化上下文检索。

应用场景

  • 跨医院医疗诊断工具,访问存储在各个服务器上的记录,同时不违反隐私法规。

20. 在线型RAG:实时学习

在线型RAG通过持续摄取实时文档或事件来动态更新其知识库。

核心特点

  • 动态摄取管道。
  • 近乎实时的检索能力。
  • 防止信息过时。

应用场景

  • 股票市场分析师能够在几秒钟内检索和总结最新的文件、推文和新闻警报。

21. 模块化RAG:即插即用架构

模块化RAG旨在提供灵活性,允许独立替换每个组件(检索器、重排序器、生成器、路由器)。

核心特点

  • 不同任务可互换的模块。
  • 促进可重用性和实验性。
  • 更易于调试和优化。

应用场景

  • 通过调整模块为法律、教育和医疗保健领域定制检索管道的人工智能平台。

22. 多跳RAG:跨步骤推理

有些问题需要多步推理。多跳RAG通过多轮检索来回答——先回答中间的子问题,再返回最终答案。

核心特点

  • 递归检索管道。
  • 支持复杂任务的分解。
  • 在开放域问答中很常见。

应用场景

  • 学术研究助手回答分层问题,例如“20世纪70年代英国通货膨胀的原因是什么,政策制定者如何应对?”

23. 工具集成型RAG:检索+行动

这种版本将RAG与工具使用能力相结合,允许模型在最终确定回答之前执行操作,例如网络搜索、计算器功能或数据库查询。

核心特点

  • 检索+工具执行循环。
  • 动态规划和代理协调。
  • 混合推理和计算。

应用场景

  • 查找税法并动态计算你的退税金额的人工智能财务顾问。

24. 级联RAG:分阶段检索

级联RAG不是一次性检索所有内容,而是分阶段应用检索,在每一步中使用中间生成器或重排序器来优化结果。

核心特点

  • 分层检索架构。
  • 提高密集知识库的质量。
  • 减少无关结果。

应用场景

  • 研究机器人从专利数据库中检索信息,逐步过滤发明人、类别和出版日期。

25. 异步RAG:并行+事件驱动

最后,异步RAG允许不同组件并行运行或按需触发——非常适合分布式或多线程应用。

核心特点

  • 事件驱动的RAG工作流。
  • 并行检索器/生成器。
  • 适合微服务架构。

应用场景

  • 在集成开发环境中同时从文档、源代码和错误日志中检索信息的人工智能开发助手。

从基础的标准RAG到动态代理、图形推理、多模态学习和保护隐私的设置,这25种RAG类型的集合反映了RAG设计空间的快速发展。

那么,接下来你该怎么做呢?

如果你是开发人员、数据科学家或人工智能爱好者:

  • 从标准RAG开始,用于开放域问答。
  • 尝试自我型RAG或纠正型RAG以提高质量。
  • 如果你的领域复杂,探索图形RAG或多模态RAG。
  • 结合RAG与代理,使用REACT或工具集成型RAG来构建自主系统。

希望这篇文章能帮助你在人工智能项目中找到最适合的RAG架构。

如何学习大模型 AI ?

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

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

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

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

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

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

在这里插入图片描述

第一阶段(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%免费】

在这里插入图片描述

改进召回(Retrieval)和引入重排(Reranking)提升RAG架构下的LLM应用效果 RAG架构来自于实际问题,而很多问题都是相似的,在效果优化层面,我们可以借鉴一些推荐系统等传统AI系统的优化经验,将其迁移过来,这对于改进RAG效果有很大的帮助,在后面的文章里,还将继续介绍具体场景的一些使用问题,欢迎关注。 阅读详情

相关推荐

FOC实战笔记:RC吸收电路的设计考量与参数调优

本文深入探讨了FOC驱动器中RC吸收电路的设计与调优。针对MOS管开关过程中的电压尖峰问题,详细阐述了RC电路的钳位与能量吸收原理,并提供了从参数计算、实验调试到布局布线的完整实战指南,旨在帮助工程师有效提升系统可靠性与稳定性。

weixin_29219539的博客 275

【AI大模型】RAG 架构图解:从基础到高级的7种模式

RAG 技术通过在 AI 生成过程中引入外部知识检索,从基础的文档查询发展到多模态、Multi-Agent 体协同的智能架构,让 AI 回答更准确、更全面

Gaga246的博客 4445

计算机技术发展5大阶段,现阶段计算机技术应用及发展

【摘要】现代计算机科学技术的发展和普及运用,为世界各国民众基础性生产生活实践活动的组织开展路径造成了深刻影响,本文围绕现阶段计算机技术应用及发展,择取两个具体方面,展开了简要分析。【关键词】计算机技术;应用;发展改革开放以来,计算机设备的广泛运用,促进了计算机科学技术的逐步发展成熟。计算机科学技术是具备新兴表现特征的尖端应用技术,其在现代工业生产和社会生活实践活动过程中的广泛引入运用,给世界各国基...

weixin_42126677的博客 2637

RAG 架构图解:从基础到高级的7种模式

RAG 技术通过在 AI 生成过程中引入外部知识检索,从基础的文档查询发展到多模态、Multi-Agent 体协同的智能架构,让 AI 回答更准确、更全面」「核心组件」嵌入模型: 将文本转换为向量表示生成模型: 负责最终的内容生成重排序模型: 优化检索结果的相关性向量数据库: 存储和检索向量化的内容提示模板: 规范化的查询处理模板AI Agent: 智能决策和任务协调图例 1👉[优快云大礼包(安全链接,放心点击)]👈。

2401_85375186的博客 1653

二维数字图像相关算法软件Ncorr的使用心得

二维开源软件Ncorr的DIC分析操作过程详解。

m0_72612723的博客 3万+

[kriging](一)网上下载的kriging克里金的C++程序的初步调试

笔者在网上下载了一份克里金的C++程序,水平有限,正在逐步地调试中。 初步 克里金法现在在许多软件都已经有集成了,据笔者所知: arcgis : 看过有的arcgis培训视频里面简略介绍了里面的插值方法,有克里金。 surfer :笔者用过这个,效果很好。 gocad :听说有 landmark &jason :研究生时候用的专业的石油物探软件,里面有克里金法,万恶的开始。 pykrig...

FOREST优快云 5611

一文读懂 RAG 架构:从基础到高级的7种模式

在人工智能飞速发展的当下,RAG(Retrieval-Augmented Generation)技术凭借独特优势脱颖而出,成为众多应用的关键支撑。它在 AI 生成过程中引入外部知识检索,极大提升了 AI 回答的准确性与全面性,从基础架构衍生出多种高级模式,广泛应用于多个领域。RAG 架构主要包含嵌入模型、生成模型、重排序模型、向量数据库、提示模板和 AI Agent 等组件。嵌入模型负责把文本转化为向量表示,便于后续检索;生成模型承担最终内容生成任务;重排序模型优化检索结果相关性;

FeelTouch Labs 2339

UE4_SpeedTree Shader源码分析

目录 1.UMaterialExpressionSpeedTree::Compile 2.Compiler->SpeedTree 3.GetSpeedTreeVertexOffset 4.Scene中的SpeedTree应用 (Scene->UpdateSpeedTreeWind) 5.GetSpeedTreeVertexOffsetInner 由于之后做风场,也需要在S...

zzgyy123的专栏 2631

一文详解25种RAG架构:AI项目如何选型?

在当今的AI时代,你是否想过,如果AI能够每次都从全球知识中精准地提取完美答案,那会是怎样的体验?检索增强生成(Retrieval-Augmented Generation,简称RAG)正是实现这一目标的幕后英雄。从ChatGPT引用来源的能力到企业AI扫描数千份文件,RAG为语言模型提供了现实世界的根基。然而,RAG并非“一刀切”的解决方案。随着时间的推移,AI研究人员设计了多种专门的RAG架构,每种架构都针对不同的现实世界瓶颈进行了优化,比如幻觉、响应延迟、较差的现实根基或有限的上下文。那么,面对25种

大模型研究中心 1115

MOSFET雪崩特性参数解析

但是,一些电源在输出短路时,初级中会产生较大的电流,加上初级电感,器件就会有雪崩损坏的可能,因此在这样的应用条件下,就要考虑器件的雪崩能量。对于那些在MOSFET的D和S极产生较大电压的尖峰应用,就要考虑器件的雪崩能量,电压的尖峰所集中的能量主要由电感和电流所决定,因此对于反激的应用,MOSFET关断时会产生较大的电压尖峰。雪崩击穿能量标定了器件可以容忍的瞬时过冲电压的安全值,其依赖于雪崩击穿需要消散的能量。EAS单脉冲雪崩击穿能量, EAS标定了器件可以安全吸收反向雪崩击穿能量的高低。

Airer_00的博客 807

实现基于 Python 和 xterm.js 的 Web 交互终端demo

前端 (HTML):使用 xterm.js 作为前端终端模拟器库。创建了一个 WebSocket 连接到 ws://localhost:8765,这与后端服务器的地址和端口匹配。监听 WebSocket 消息,并将数据写入终端。同时监听用户输入并发送到服务器。后端 (Python):使用 websockets 库来创建 WebSocket 服务器,监听端口 8765。使用 paramiko 库来创建 SSH 客户端并连接到指定的远程服务器。

u010674101的专栏 876

深入剖析25种大模型RAG架构,AI工程师该如何选择?

如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!

2401_85325726的博客 2111

基于自适应小波阈值算法的图像去噪

自适应小波阈值算法是一种基于小波变换的方法,它相对于传统的小波阈值去噪方法具有更好的性能和鲁棒性。该算法首先对图像进行小波变换,然后根据小波系数的大小确定一个自适应的阈值,将小波系数与阈值进行比较,大于阈值的系数被保留,小于阈值的系数被置零。在上述代码中,首先选取了小波函数sym4进行小波分解,然后根据标准差计算出阈值,使用wthresh函数进行阈值处理,最后进行反变换得到处理后的图像。该GUI界面与前面的自适应小波阈值算法代码结合,实现了图像的去噪,并提供了可视化的效果。

与其临渊羡鱼,不如退而结网 559

RAG 架构选型攻略:25 种方案全解析,AI 项目看这篇就够

本文将深入剖析 25 种 RAG 架构,为每一位 AI 工程师提供全面的选型指南。

weixin_72959097的博客 937

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【小白必看】一文吃透 25 种 RAG 架构:AI 项目选型避坑指南

【小白必看】一文吃透 25 种 RAG 架构:AI 项目选型避坑指南

xxue345678的博客 908

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

25种RAG架构全解析:从技术原理到AI项目选型指南

当AI能够精准调用全球知识库生成答案时,用户体验将实现质的飞跃——而检索增强生成(Retrieval-Augmented Generation, RAG)正是这一变革的核心技术支撑。从ChatGPT的来源引用功能到企业级文档智能检索系统,RAG为大语言模型(LLM)搭建了连接现实世界知识的桥梁。但RAG绝非单一方案,随着技术迭代,研究人员已开发出25种针对性架构,分别破解幻觉生成、响应延迟、知识陈旧等实际痛点。本文将深度拆解这些架构的技术特性、适用场景及落地案例,为AI工程师提供清晰的选型路径。

大模型教程的博客 977

深度学习工具包 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")

AI项目如何选型?一文详解25种RAG架构!看这一篇就够了!

,面对25种不同的RAG类型,你该如何选择呢?今天,我们就来深入剖析这25种RAG架构,帮助每一位AI工程师找到最适合的方案。

xxue345678的博客 864

RAG检索策略选型实战指南:从BM25到Agentic RAG

BM25适用于术语规范的简单问答,Blended RAG提升多模态语义覆盖能力Agentic RAG专为多跳、跨表、高忠实度场景设计,需配合FAIR-RAG等评估框架。

ll1042668699的博客 1270

大模型RAG架构怎么选?25种主流方案对比与选型指南(2025版)

那么,面对25种不同的RAG类型,你该如何选择呢?今天,我们就来深入剖析这25种RAG架构,帮助每一位AI工程师找到最适合的方案。

2401_84815887的博客 1393
上一篇: 关于RAG你不得不了解的17个技巧
下一篇: 大模型三种微调Fine-tuning方式深度分析
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值