因为项目的需要,之前研究了一段时间的RAG,于是本文总结 8 种 RAG 架构,对每种架构进行简要介绍,并用 langchain 实现其参考代码。 1. Naive RAG 简介: Naive RAG 是最基础的检索增强生成架构,采用“索引-检索-生成”的经典流程。 Agentic RAG 简介: Agentic RAG(智能体RAG)将 AI Agent 的规划和推理能力与 RAG 相结合。 print(answer) 5. Graph RAG 简介: Graph RAG 将知识图谱技术与 RAG 相结合,通过从文档中抽取实体和关系构建知识图谱,并进行社区检测和摘要生成。 架构: 实现步骤: 查询分类:分析用户查询的类型和复杂度(简单事实/多跳推理/开放性问题) 策略选择:根据查询类型选择最优的RAG策略 简单查询:直接LLM回答或单次检索 复杂查询:多轮迭代检索 开放性问题
原文:https://mp.weixin.qq.com/s/Yax05qsVj1tXi77za8Wm2g欢迎关注公zh:AI-FrontiersRAG往期文章推荐RAG效果差? 7个指标让你的准确率大幅提升RAG评测完整指南:指标、测试和最佳实践收藏! RAG核心工具大全:7大解析工具+向量模型+数据库+检索排序GraphRAG开源生态全景:6大主流开源项目,微软/蚂蚁/港大项目同台PK检索增强生成(RAG)将LLM与信息检索系统相结合,以生成更准确、 RAG的一个关键组成部分是「分块」:将大型文档分割成更小、更易于管理的部分。然后对这些块进行索引,并在检索阶段使用这些块,为语言模型提供上下文相关的信息。 本文将详细介绍每种分块方法,比较不同的分块策略,探讨如何选择合适的分块策略,并了解在RAG中实施分块的**最佳实践。
本文详细解析了RAG技术,包括其定义、作用、技术架构和检索模块的实现与优化,全面展示了RAG在自然语言处理中的重要性和广泛应用前景。 关注TechLead,复旦AI博士,分享AI领域全维度知识与研究。 二、RAG的技术架构 RAG模型整体架构 RAG(Retrieval-Augmented Generation)模型的技术架构包括两个主要部分:检索模块(Retriever)和生成模块(Generator 技术架构图 以下是RAG模型的技术架构图,展示了检索模块和生成模块的工作流程: 输入查询 │ ▼ 检索模块 │ ├──> 文档1 │ ├──> 文档2 检索模块的性能直接影响RAG模型的整体效果,因此深入理解其工作原理、技术实现和优化策略是非常重要的。本章将详细解析RAG检索模块的各个方面,包括其架构、实现细节、优化方法以及实际应用中的注意事项。 检索模块架构 RAG的检索模块通常采用双塔模型(Dual-Encoder)架构,由两个独立的编码器组成:一个用于编码查询(Query Encoder),另一个用于编码文档(Document Encoder
还在为RAG应用开发头疼吗?别急,今天给大家推荐五款完全开源免费的RAG框架,覆盖自动优化、多模态处理、本地部署、生产环境支持等多种场景,助你轻松搞定RAG开发! 1. AutoRAG:自动优化,省心省力 核心优势:自动寻找最优RAG流程,告别手动调参! ✨ 特色功能:支持用你的评估数据测试不同RAG模块,找到最适合的方案。 适用场景:适合需要优化RAG系统性能的开发者。 https://github.com/Marker-Inc-Korea/AutoRAG 2. 适用场景:适合企业级应用部署,需要稳定可靠的RAG框架。 https://github.com/truefoundry/cognita 5. ✨ 特色功能: 提供50+针对企业任务优化的小型模型 支持完整的RAG生命周期 适用场景:适合企业环境中需要专业化、轻量级解决方案的场景。
向量数据库并非硬性规定 几乎互联网上所有关于RAG的教程都使用向量存储。如果你一直在搜索RAG相关内容,你就会明白我们在说什么。 基于向量的检索无疑是RAG成功的重要因素。 RAG可以从互联网、关系型数据集、Neo4J中的知识图谱,或者这三者的组合中检索信息。 在许多情况下,我们注意到混合方法往往能带来更好的性能。 对于客户聊天机器人,你可能需要授予RAG访问部分客户数据库的权限,这可能是一个关系型数据库。 公司的知识管理系统可能会创建知识图谱并从中检索信息,而不是使用向量存储。 从定义上讲,所有这些都是RAG。 然而,确定使用哪些数据源的过程并不是很直接。你需要尝试各种选项,了解每种方法的优缺点。接受或拒绝某个想法的原因可能受到技术和业务考虑的双重影响。 分块是RAG中最具挑战性和最重要的部分 当上下文中包含不相关信息时,LLM往往会失控。 防止RAG中出现幻觉的最佳方法是分块。 现代LLM可能支持更长的上下文长度。
Weaviate 是一个开源的向量数据库, 面向的就是RAG使用场景,给出了七种RAG架构cheat sheet。RAG 分为两个阶段:索引阶段 和 查询阶段,每个阶段都有超多硬核技术加持! 7 种 RAG 架构 以下是Weaviate官方总结的七种RAG(Retrieval-Augmented Generation)架构的核心要点速查表,涵盖核心原理、优缺点及适用场景。1. 5. Hybrid RAG(混合RAG)核心原理:结合多种检索策略(如向量检索+关键词检索+图检索),融合结果后生成答案。 优点:检索覆盖率高、灵活适配多场景、抗噪声能力强。 对架构选择的建议基础场景:优先选择Naive RAG或Retrieve-and-Rerank,平衡速度与精度。 多模态需求:采用Multimodal RAG,结合CLIP等跨模态模型。 #RAG架构 #Weaviate #AI技术 #技术分享 #多模态 #知识图谱 #智能代理
MiA-RAG的诞生,正是为了将这种人类独有的“全局心智”能力赋予AI系统。 二、MiA-RAG的核心思想与整体架构MiA-RAG的核心创新在于其两阶段架构,明确分离了全局心智构建和局部任务执行两个过程。 三、关键技术优势与对比分析特性传统RAG超长上下文MiA-RAG上下文视野局部、碎片化理论上完整,但实际注意力稀释全局、结构化计算成本低(仅处理小片段)极高(处理整个文档)中等(预处理+小片段处理)推理能力单跳 四、实验效果与评估根据原论文(arXiv:2512.17220)及后续的行业评测,MiA-RAG在多个专注于长上下文理解和基于证据推理的基准测试中,持续且显著地超越了现有的所有基线RAG方法。 深入的案例研究表明,MiA-RAG能够成功地将分布在文档不同部分的证据进行整合,完成复杂的多跳推理,而传统RAG则常常失败。
将大模型与知识库结合的项目架构(RAG项目架构)可能指的是一种结合了检索(Retrieval)和生成(Generation)的架构,即RAG(Retrieval-Augmented Generation 这种架构特别适用于需要结合检索信息和生成新内容的任务,如开放域问答、内容创作等。RAG架构的一般流程如下:检索阶段(Retrieval):首先,系统会从知识库中检索出与输入查询相关的信息。 在实际应用中,RAG项目架构可以根据不同的应用场景和需求进行定制和优化。例如,检索系统可以使用不同的搜索引擎或推荐系统,而生成模型可以是传统的语言模型,也可以是专门为特定任务训练的模型。 如果你有关于RAG项目架构的具体问题,或者需要了解如何在特定的应用场景中实现这种架构,请提供更多的上下文信息,我会尽力提供帮助。
### **二、RAG 架构:核心原理与流程**#### 1. RAG 是什么? - 向量数据库通过相似性查询,返回与问题最相关的Top N个Chunk(如Top 3-5)。 - 优化:可结合关键词过滤、元数据筛选(如指定来源)提升精度。 - 理解分布式向量数据库的分片、副本机制(如Milvus的DataNode、QueryNode架构)。 2. **RAG高级架构**: - **多模态RAG**:支持图像、音频等数据(如用CLIP模型生成跨模态向量)。 **结合其他技术**: - 与知识图谱(KG)结合,提升检索逻辑推理能力(如RAG + KG架构)。
toc在之前的博客文章中,我们已经描述了嵌入是如何工作的,以及RAG技术是什么。本节我们我们将使用 LangChain 库以及 RAG 和嵌入技术在 Python 中构建一个简单的 LLM 应用程序。 我们的 RAG 应用程序将使用私有数据扩展 LLM 的知识。在这种情况下,它将是一个包含一些文本的 PDF 文件。 在关于RAG的文章中对此进行了更详细的描述。 复制密钥并将其粘贴到 .env 文件中,如下所示:OPENAI_API_KEY=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让我们通过导入 load_dotenv chunk_size=1000, chunk_overlap=50, separator="\n" ) docs = text_splitter.split_documents(documents)5.
继续我们的langchain4j之旅,今天来看看RAG如何实现,“RAG萌宠新手盆友们”建议先看看B站大佬的视频RAG 工作机制详解—哔哩哔哩_bilibili,核心步骤就是下面这3张图: 最简单的RAG prompt_eval_count":11} 3、重排/生成 private interface Assistant { String chat(String userMessage); } /** * 基于RAG "done_reason":"stop","total_duration":1059949995,"prompt_eval_count":21,"eval_count":22} 从日志上看,先做了1次RAG
检索增强生成 (RAG) 是一种架构框架,利用 向量数据库 来克服现成 LLM 的局限性。在本文中,我将引导你了解 RAG 的功能和优势,以及它如何促进 LLM 和实时 AI 环境的彻底改造。 检索增强生成 (RAG) RAG 是一种架构框架,可帮助企业在其 LLM 和 AI 生态系统和流程中使用专有向量数据库作为先导步骤。RAG 将这些搜索结果用作 LLM 的附加输入,可用于塑造其答案。 RAG 架构使 LLM 能够在对提示或查询创建响应之前访问外部数据库。 通过绕过重新训练流程,RAG 为企业提供了一种经济且便捷的方式来增强其 AI 应用程序,而不会损害搜索准确性和性能。 RAG 的功能和优势 既然你对 RAG 有了基本的了解,我想将重点转移到它的主要功能和主要优势上。 更好的搜索质量 增强的搜索质量是企业使用 RAG 解锁的首批优势之一。 展望 RAG RAG 可以帮助生成更好、更具上下文且没有幻觉的响应来回答人类的问题。借助 RAG,聊天机器人的响应对用户来说更快、更准确。当然,这只是一个简单的用例。
随着业务向多步推理、动态任务规划以及跨知识库协作检索演进,传统的 RAG(检索增强生成)架构暴露出明显的性能与运维瓶颈。 部署集成化 RAG 解决方案与原生智能体平台 为应对上述挑战,腾讯云联合 Elastic 提供了一套从底层基础设施到敏捷上层开发的全链路解决方案,推动应用由传统 RAG 向 Agentic RAG(智能体驱动的 RAG)转型。 统一化搜索平台架构:将原本割裂的多个组件整合为 1 个集成的 RAG 解决方案。 基础设施与技术效能指标: 服务器资源大幅缩减:在“十亿级向量”的 RAG 应用实战中,系统架构由管理 4 个不同系统、400+ 台服务器,精简至单一集成方案仅需 30 台服务器,实现 90%+ 的成本降低
虽然这些视觉丰富的元素通常被排除在 RAG 工作流程之外,但一种用于从视觉增强文档中检索信息的新方法将简化多模态文档准备,并改变 RAG 和生成式 AI (GenAI) 的潜力。 这些处理步骤可能很耗时,并会影响检索质量,但 Contextualized Late Interaction over PaliGemma (ColPali) 是一种新的检索模型架构,专注于文档密集型环境中的 RAG,克服了这些挑战。 ColPali 的架构建立在两个关键概念之上:来自 视觉语言模型 (VLMs) 的上下文视觉嵌入和后期交互机制。 展望未来 ColPali 架构为文档检索树立了新标准,提供了一个灵活的框架,可以适应新兴的 VLM。基准测试结果表明 ColPali 优于传统方法,标志着该领域范式转变。
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的 RAG 架构的切块策略—Fixed-Size Chunking(固定切块)。 通过本文,你将一文读懂这款为下一代 RAG 应用量身打造的开源图向量数据库的核心理念、架构优势以及它如何助力你的智能化创新。让我们一起深入了解 HelixDB 的独特之处吧! 执行运行: (base) lugalee@labs rag % /opt/homebrew/bin/python3 /Volumes/home/rag/fixedsiz.py 原始文本被切分成了 2 个块 通过本文,你将一文读懂这款为下一代 RAG 应用量身打造的开源图向量数据库的核心理念、架构优势以及它如何助力你的智能化创新。让我们一起深入了解 HelixDB 的独特之处吧! 今天的解析就到这里,欲了解更多关于 LM Studio 相关技术的深入剖析,最佳实践以及相关技术前沿,敬请关注我们的微信公众号或视频号:架构驿站(priest-arc),获取更多独家技术洞察!
这些是可能阻碍RAG流水线在生产LLM环境中性能的主要潜在瓶颈。 译自 5 Bottlenecks Impacting RAG Pipeline Efficiency in Production,作者 Janakiram MSV。 检索增强生成(Retrieval Augmented Generation,RAG)已成为基于大型语言模型的生成式人工智能应用的关键组成部分。 通过这样做,RAG显著提高了生成响应的事实准确性和可靠性,尤其是在需要精确或最新信息的情况下。 RAG以其增强语言模型知识的能力脱颖而出,使其能够产生更准确、上下文感知和可靠的输出。 即使一些 LLMs 具有较大的上下文窗口,这并不意味着我们可以跳过 RAG 流水线的某些阶段,一次性传递整个上下文。
一个具有更大上下文窗口的新模型问世,社交媒体上便会充斥着“RAG 已死”的宣言。 该 LinkedIn 帖子: 一些值得注意的 RAG“死亡宣告”包括: 2023 年 5 月:Anthropic 的 Claude,上下文窗口达 10 万 token 2024 年 2 月:Google 底线是:您同时需要长上下文 LLM 和 RAG。 但既然“RAG”这个术语似乎如此具有争议性,那我们不妨这样说: 我们不必非得称之为 RAG。 我们可以就叫它 检索 (retrieval)。 RAG 提供了相当于直接翻到相关页面的能力。处理更多 token 不仅更慢,而且极其低效,并且比使用 RAG 精准定位所需信息要昂贵得多。 RAG、微调和大型上下文窗口在 AI 中也是如此。 结论 我们不需要在 RAG 与长上下文窗口、微调或 MCP 之间做出选择。
【RAG】001-RAG概述 0、整体思维导图 下面的知识是基于一个视频教程结合 AI 生成的笔记,我也看了一遍,有了一些印象,但这种印象很快就会消失,知识也就消失了,为了使得知识在我的大脑中停留更长的时间 补充1:RAG 基本逻辑 补充2:RAG 知识库基本逻辑 一、RAG 介绍 1、LLM 的主要局限性 大语言模型(LLM)尽管功能强大,但仍存在以下明显的局限性: 时效性问题:模型的知识在预训练后就固定了 概述 1、RAG 的概念 RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了检索和生成技术的文本处理方法,主要用于提高语言模型的输出质量。 2、RAG 的工作原理 RAG 的核心工作流程包含以下步骤: 知识库构建: 收集和处理文档资料 将文档切分为适当大小的文本块 使用向量化模型将文本转换为向量并存储 检索过程: 接收用户查询并向量化 在向量数据库中搜索相似内容 获取最相关的文本片段 生成过程: 将检索到的相关内容与用户问题组合 构建合适的提示词(Prompt) 通过 LLM 生成最终答案 3、RAG 的应用场景 RAG 技术在多个领域都有广泛应用
系列说明:这是RAG工程化系列第一篇,目标是把四代RAG(NaiveAdvancedModular/Agentic)逐一拆透。每篇聚焦一种范式,讲它真正能做什么、做不到什么、工程上怎么落地。 一、NaiveRAG到底是什么:先把定义讲清楚,否则后面全是糊涂账打开任何一篇RAG教程,你会看到几乎一样的描述:"RAG就是先检索再生成"。这种描述等于没说。 没有它,你做的所有架构决策都是赌博。8.2最低规格:50条起步展开代码语言:YAMLAI代码解释-id:q-001query:"我们的退款政策是什么?" 上验证收益≥5%再保留。 它的合理位置是"用1周验证业务是否需要RAG的脚手架",不是支撑长期生产的架构。把它从脚手架变成承重墙的那一刻,所有的雷就开始定时引爆。观点二:90%的"模型不够好",其实是"工程没做好"。
Spring 5的模块结构如下图所示。 [file] 组成Spring框架的每个模块都可以单独存在,也可以将一个或多个模块联合实现。下面分别介绍每类模块的组成和功能。 3 数据访问与集成 数据访问与集成由spring-jdbc、spring-tx、spring-orm、spring-oxm和spring-jms 5个模块组成。 5 通信报文 通信报文即spring-messaging模块,它是Spring 4新加入的一个模块,主要职责是为Spring 框架集成一些基础的报文传送应用。 8 各模块之间的依赖关系 Spring官网对Spring 5各模块之间的关系做了详细说明,如下图所示。 [file] 下图对Spring 5各模块做了一次系统的总结,描述了模块之间的依赖关系,希望能对“小伙伴们”有所帮助。 [file]