Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

RAG-Fusion

Answer

RAG(检索增强生成)是由 Lewis 等人于 2020 年中期提出的一种大语言模型领域的范式。

大型语言模型如 GPT 系列虽在自然语言处理方面取得显著成功,但仍存在局限性,如处理特定领域或高度专业化查询时易产生错误信息或“幻觉”,尤其在查询超出训练数据或需要最新信息时。

RAG 将外部数据检索整合到生成过程中,包括初始的检索步骤,查询外部数据源获取相关信息后再回答问题或生成文本,这不仅为后续生成提供信息,还能确保回答基于检索证据,从而显著提高输出的准确性和相关性。其演进轨迹分为四个阶段。

在 2017 年创始阶段,重点是通过预训练模型吸收额外知识增强语言模型。

RAG 能解决大语言模型知识局限性、幻觉问题和数据安全性等问题,可让大模型从权威知识源检索组织相关信息,更好控制文本输出,且能与微调结合使用。但 RAG 不适合教模型理解广泛领域或学习新语言、格式或样式。

LangChain 是用于构建高级语言模型应用程序的框架,提供一系列工具和组件,RAG 作为技术可在 LangChain 框架内实施利用,两者关系包括:LangChain 提供实现 RAG 必需的工具和组件;允许通过模块化组件构建 RAG 应用;简化 RAG 应用开发过程;利用其实现 RAG 可提高性能;支持构建复杂的 RAG 应用。

Content generated by AI large model, please carefully verify (powered by aily)

References

开发:产品视角的大模型 RAG 应用

开发:产品视角的大模型RAG应用[heading1]一文看懂RAG:大语言模型落地应用的未来[heading2]RAG发展的四个阶段大型语言模型(LLMs)如GPT系列在自然语言处理方面取得了显著的成功,Super-GLUE等各种基准测试中表现出色。尽管有了这些进展,LLMs仍然存在显著的局限性,特别是在处理特定领域或高度专业化的查询时,一个常见问题是产生错误的信息,或者称为“幻觉”。特别是当查询超出模型的训练数据或需要最新信息时。所以说在直接将LLMs部署运行到生产环境中时,其就是一个黑盒,鬼知道它会输出什么的结果...解决这些问题的一种有希望的方法是检索增强生成(RAG),它将外部数据检索整合到生成过程中,从而提高模型提供准确和相关回答的能力。RAG于2020年中期由Lewis等人提出,是LLMs领域中的一种范式,可增强生成任务。具体而言,RAG包括一个初始的检索步骤,LLMs在此步骤中查询外部数据源以获取相关信息,然后才回答问题或生成文本。这个过程不仅为后续的生成阶段提供信息,还确保回答基于检索到的证据,从而显著提高了输出的准确性和相关性。在推断阶段动态检索来自知识库的信息使RAG能够解决生成事实错误内容的问题,通常被称为“幻觉”。将RAG整合到LLMs中已经迅速被采用,并成为完善聊天机器人能力和使LLMs更适用于实际应用的关键技术。RAG的演进轨迹在四个不同阶段展开,如下图所示。在2017年的创始阶段,与Transformer架构的出现相一致,主要重点是通过预训练模型(PTM)来吸收额外的知识以增强语言模型。这个时代见证了RAG的基础工作主要集中在优化预训练方法上。

问:LangChain 和 RAG 有什么关系?

LangChain是一个用于构建高级语言模型应用程序的框架,它提供了一系列的工具和组件,使得开发人员能够更容易地使用大型语言模型(LLM)来创建各种应用程序。LangChain的设计主张集中在模块化组件上,这些组件提供用于使用LLM的行为抽象,并为每个抽象提供实现的集合,从而允许开发人员构造新链或实现现成的链。RAG,即检索增强生成(Retrieval-Augmented Generation),是一种结合了检索(检索外部知识库中相关信息)和生成(利用LLM生成文本)的技术。RAG能够为LLM提供来自外部知识源的附加信息,使得LLM在应对下游任务时能够生成更精确和上下文相关的答案,并减少LLM的幻觉现象。LangChain和RAG之间的关系可以概括为:1.框架与技术:LangChain作为一个框架,提供了实现RAG所必需的工具和组件。RAG作为一项技术,可以在LangChain框架内得以实施和利用。2.模块化实现:LangChain允许开发者通过其模块化组件来构建RAG应用程序,例如使用LangChain的检索器(Retriever)和生成模型(LLM)来创建一个完整的RAG流程。3.简化开发:LangChain通过提供现成的链(Off-the-shelf chains)和提示模板(Prompt Templates),简化了RAG应用程序的开发过程。4.提高性能:利用LangChain实现RAG可以帮助开发者创建更高效、更准确的应用程序,特别是在需要大量外部信息来辅助决策的场景中。5.应用构建:LangChain通过其丰富的API和组件库,支持开发者构建复杂的RAG应用,如智能问答系统、内容推荐引擎等。

RAG提示工程(一):基础概念

大语言模型技术的本质导致了大模型的输出结果具有不可预测性,此外,静态的训练数据导致了大模型所掌握的知识存在截止日期,无法即时掌握最新信息。因此,当我们将大模型应用于实际业务场景时会发现,通用的基础大模型无法满足我们的实际业务需求。主要存在以下原因:知识的局限性:模型自身的知识完全源于它的训练数据,而现有的主流大模型(ChatGPT、文心一言、通义千问…)的训练集基本都是抓取网络公开的数据用于训练,对于一些实时性的、非公开的或离线的数据是无法获取到的,这部分知识也就无从具备。幻觉问题:大模型的底层原理是基于数学概率的文字预测,即文字接龙。因此大模型存在幻觉问题,会在没有答案的情况下提供虚假信息,提供过时或通用的信息,从可信度低非权威来源的资料中提供结果等。数据安全性:对于企业来说,数据安全至关重要,没有企业愿意承担数据泄露的风险,将自身的私域数据上传第三方平台进行训练。因此如何大模型落地应用时如何保障企业内部数据安全是一个重要问题。而RAG是解决上述问题的一套有效方案。它可以让大模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制大模型生成的文本输出,并且用户可以深入了解LLM如何生成最终的结果。并且,RAG可以和微调结合使用,两者并不冲突。RAG类似于为模型提供教科书,允许它基于特定查询检索信息。这该方法适用于模型需要回答特定的询问或解决特定的信息检索任务。然而,RAG不适合教模型来理解广泛的领域或学习新的语言,格式或样式。微调类似于让学生通过广泛的学习内化知识。这种方法当模型需要复制特定的结构、样式或格式时非常有用。以下是RAG与微调从维度方面的比较:参考资料:《Retrieval-Augmented Generation for Large Language Models:A Survey》(https://arxiv.org/pdf/2312.10997.pdf)

Others are asking
stable diffusion底层技术
Stable Diffusion 的底层技术主要来源于 AI 视频剪辑技术创业公司 Runway 的 Patrick Esser 以及慕尼黑大学机器视觉学习组的 Robin Romabach 之前在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)研究。 Stable Diffusion 是一种基于潜在扩散模型的文本到图像生成模型,其原理包括以下几个步骤: 1. 使用新颖的文本编码器(OpenCLIP),由 LAION 开发并得到 Stability AI 的支持,将文本输入转换为向量表示,以捕捉文本语义信息并与图像空间对齐。 2. 采用扩散模型,将随机噪声图像逐渐变换为目标图像。扩散模型是一种生成模型,能从训练数据中学习概率分布并采样新数据。 3. 在扩散过程中,利用文本向量和噪声图像作为条件输入,给出每一步变换的概率分布,根据文本指导噪声图像向目标图像收敛,并保持图像的清晰度和连贯性。 4. 使用超分辨率放大器(Upscaler Diffusion Model),将生成的低分辨率图像放大到更高分辨率,从低分辨率图像中恢复细节信息并增强图像质量。 此外,ComfyUI 的底层依赖 Stable Diffusion,去噪过程由 UNet 网络完成。UNet 是一种编码器解码器结构,能处理多尺度特征表示。在 ComfyUI 中,去噪的每个步骤通过模型推理模块实现,调用训练好的 UNet 模型逐步将噪声图像还原成有意义的图像。交叉注意力机制在 Stable Diffusion 中很重要,允许模型在生成过程中融入文本提示、图像、语义信息等条件,在 ComfyUI 中通过“文本提示”和“条件输入”节点实现。跳跃连接是 UNet 的核心部分,能在不同尺度之间共享特征,在 ComfyUI 的节点网络中表现为中间过程数据的流转。切换器代表在去噪过程中的不同阶段对特征流的控制,在 ComfyUI 中可通过修改模型参数节点或自定义网络结构节点对不同阶段的噪声去除策略进行微调。 Stable Diffusion 还具有以下优点: 1. 可以处理任意领域和主题的文本输入,并生成与之相符合的多样化和富有创意的图像。 2. 可以生成高达 2048x2048 或更高分辨率的图像,且保持良好的视觉效果和真实感。 它还可以进行深度引导和结构保留的图像转换和合成,例如根据输入图片推断出深度信息,并利用深度信息和文本条件生成新图片。
2025-04-15
stable video diffusion开发
以下是关于 Stable Video Diffusion 开发的相关信息: SVD 介绍: 简介:Stable Video Diffusion 是 Stability AI 于 2023 年 11 月 21 日发布的视频生成式大模型,用于高分辨率、先进的文本到视频和图像到视频生成的潜在视频扩散模型。它支持多种功能,用户可调整多种参数,但对硬件要求较高,支持的图片尺寸较小,应用场景受限。 模型版本:开源了两种图生视频的模型,一种能生成 14 帧的 SVD,另一种是可以生成 25 帧的 SVDXL,发布时通过外部评估超越了人类偏好研究中领先的封闭模型。 主要贡献:提出系统的数据管理工作流程,将大量未经管理的视频集合转变为高质量数据集;训练出性能优于现有模型的文本到视频和图像到视频模型;通过特定领域实验探索模型中运动和 3D 理解的强先验,预训练的视频扩散模型可转变为强大的多视图生成器,有助于克服 3D 领域数据稀缺问题。 部署实战避坑指南: 直接使用百度网盘里准备好的资源,可规避 90%的坑。 若一直报显存溢出问题,可调低帧数或增加 novram 启动参数。 云部署实战中,基础依赖模型权重有两个 models–laion–CLIPViTH14laion2Bs32Bb79K 和 ViTL14.pt,需放到指定路径下。 总结: Sora 发布后,此前的视频生成模型相形见绌,但 Stable Video Diffusion 作为开源项目可在自己机器上自由创作无需充值。SVD 生成的视频画质清晰,帧与帧过渡自然,能解决背景闪烁和人物一致性问题,虽目前最多生成 4 秒视频,与 Sora 的 60 秒差距大,但在不断迭代。我们会持续关注其技术及前沿视频生成技术,尝试不同部署微调方式,介绍更多技术模型,更多精彩内容后续放出。 同时,您还可以加入「AIGCmagic 社区」群聊交流讨论,涉及 AI 视频、AI 绘画、Sora 技术拆解、数字人、多模态、大模型、传统深度学习、自动驾驶等多个方向,可私信或添加微信号:【m_aigc2022】,备注不同方向邀请入群。
2025-04-15
stable diffusion是runway和goole联合开的吗
Stable Diffusion(简称 SD)不是由 Runway 和 Google 联合开发的,而是由初创公司 StabilityAI、CompVis 与 Runway 合作开发的。 Stable Diffusion 是 2022 年发布的深度学习文本到图像生成模型,其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的 Patrick Esser 以及慕尼黑大学机器视觉学习组的 Robin Romabach。该项目的技术基础主要来自于这两位开发者之前在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)研究。 Stable diffusion 是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像。其原理包括使用新颖的文本编码器将文本输入转换为向量表示,利用扩散模型将随机噪声图像逐渐变换为目标图像,在扩散过程中根据文本向量和噪声图像作为条件输入给出变换的概率分布,最后使用超分辨率放大器将生成的低分辨率图像放大到更高的分辨率。 围绕 Stable Diffusion 等基础模型的兴奋和关注正在产生惊人的估值,但新研究的不断涌现确保新模型将随着新技术的完善而更替。目前,这些模型在法律方面也面临挑战,例如其训练所使用的大量内容数据集通常是通过爬取互联网本身获得的,这可能会引发法律问题。
2025-04-15
stable diffusion开发公司
Stable Diffusion 是由初创公司 StabilityAI、CompVis 与 Runway 合作开发的。其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的 Patrick Esser 以及慕尼黑大学机器视觉学习组的 Robin Romabach。该项目的技术基础主要来自于他们之前在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)研究。 Stable Diffusion 是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像。其原理包括使用新颖的文本编码器(OpenCLIP)将文本输入转换为向量表示,利用扩散模型将随机噪声图像逐渐变换为目标图像,在扩散过程中以文本向量和噪声图像作为条件输入给出变换的概率分布,最后使用超分辨率放大器将生成的低分辨率图像放大到更高分辨率。 Stable Diffusion 总共有 1B 左右的参数量,可以用于文生图、图生图、图像 inpainting、ControlNet 控制生成、图像超分等丰富的任务。在文生图任务中,将一段文本输入到模型中,经过一定迭代次数输出符合文本描述的图片;图生图任务则在输入文本基础上再输入一张图片,模型根据文本提示对输入图片进行重绘。输入的文本信息通过 CLIP Text Encoder 模型编码生成与文本信息对应的 Text Embeddings 特征矩阵,用于控制图像生成。源代码库为 github.com/StabilityAI/stablediffusion ,当前版本为 2.1 稳定版(2022.12.7),其代码模型权重已公开发布,可以在大多数配备有适度 GPU 的电脑硬件上运行。
2025-04-15
stable diffusion开发公司
Stable Diffusion 是由初创公司 Stability AI、CompVis 与 Runway 合作开发的。其核心技术来源于 AI 视频剪辑技术创业公司 Runway 的 Patrick Esser 以及慕尼黑大学机器视觉学习组的 Robin Romabach。该项目的技术基础主要来自于他们之前在计算机视觉大会 CVPR22 上合作发表的潜扩散模型(Latent Diffusion Model)研究。 Stable Diffusion 是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据任意文本输入生成高质量、高分辨率、高逼真的图像。其原理包括使用新颖的文本编码器(OpenCLIP)将文本输入转换为向量表示,利用扩散模型将随机噪声图像逐渐变换为目标图像,在扩散过程中以文本向量和噪声图像作为条件输入给出变换概率分布,最后使用超分辨率放大器将生成的低分辨率图像放大到更高分辨率。 Stable Diffusion 总共有 1B 左右的参数量,可以用于文生图、图生图、图像 inpainting、ControlNet 控制生成、图像超分等丰富的任务。其代码模型权重已公开发布,可以在大多数配备有适度 GPU 的电脑硬件上运行,当前版本为 2.1 稳定版(2022.12.7),源代码库为 github.com/StabilityAI/stablediffusion 。
2025-04-15
Riffusion
Riffusion 是一个令人瞩目的 AI 音乐产品。它具有深度和现实主义,其新更新在输出中添加了抒情的声音。 在相关技术实施过程中,经历了多个阶段,例如使用 Python 在 Raspberry Pi 上测试 Musicgen API,在 Raspberry Pi 上使用时间编码的 LP 记录测试 Xwax DVS 包,使用键盘矩阵库对按钮输入进行原型设计等。 此外,Riffusion 还推出了 FUZZ 这一全新音乐生成模型,基于扩散模型,支持永久免费开放(只要服务器能撑住)。FUZZ 通过生成声谱图并转换为音频,可输入提示词(音乐类型、乐器、情绪等)生成风格匹配的音乐,还支持无缝风格过渡。 如果您想了解更多关于 Riffusion 的详细信息,比如其安装配置等,可以继续向我提问。
2025-03-31
rag
RAG(RetrievalAugmented Generation,检索增强生成)是一种结合检索和生成能力的自然语言处理架构。 通用语言模型通过微调可完成常见任务,而更复杂和知识密集型任务可基于语言模型构建系统,访问外部知识源来完成,如 Meta AI 引入的 RAG 方法。RAG 把信息检索组件和文本生成模型结合,可微调,内部知识修改高效,无需重新训练整个模型。它会接受输入并检索相关支撑文档,给出来源,与原始提示词组合后送给文本生成器得到输出,能适应事实变化,让语言模型获取最新信息并生成可靠输出。 大语言模型(LLM)存在一些缺点,如无法记住所有知识尤其是长尾知识、知识易过时且不好更新、输出难以解释和验证、易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有诸多优点,如数据库存储和更新稳定且无学习风险、数据更新敏捷且不影响原有知识、降低大模型输出出错可能、便于管控用户隐私数据、降低大模型训练成本。 在 RAG 系统开发中存在 12 个主要难题,并已有相应的解决策略。
2025-04-15
rag介绍
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在内容黑盒、不可控以及受幻觉等问题干扰的情况。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器,包括 PDF 在内的非结构化数据、SQL 在内的结构化数据,以及 Python、Java 之类的代码等。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块,称为“文档块”或者“文档片”。 3. 存储:涉及将切分好的文档块进行嵌入转换成向量的形式,并将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-14
什么是RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型本身的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档。 2. 文本分割:把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-14
RAG对话 摘要总结 功能实现
LangChain 和 RAG 的结合具有以下优势: 1. 灵活性:可根据需求和数据源选择不同组件和参数定制 RAG 应用,也能使用自定义组件(需遵循接口规范)。 2. 可扩展性:能利用 LangChain 的云服务部署和运行,无需担忧资源和性能限制,还可借助分布式计算功能加速应用,发挥多个节点并行处理能力。 3. 可视化:通过 LangSmith 可视化工作流程,查看各步骤输入输出及组件性能状态,用于调试和优化,发现并解决潜在问题和瓶颈。 其应用场景多样,包括: 1. 专业问答:构建医疗、法律、金融等专业领域的问答应用,从专业数据源检索信息辅助大模型回答问题,如从医学文献中检索疾病诊治方案回答医疗问题。 2. 文本摘要:构建新闻或论文摘要应用,从多个数据源检索相关文本帮助大模型生成综合摘要,如从多个新闻网站检索同一事件报道生成全面摘要。 3. 文本生成:构建诗歌、故事生成等应用,从不同数据源检索灵感协助大模型生成更有趣和创意的文本,如从诗歌、歌词或小说中检索相关文本生成作品。 此外,还介绍了本地部署资讯问答机器人的实现方式,即基于用户问题从向量数据库检索相关段落并按阈值过滤,让模型参考上下文信息回答,还创建了网页 UI 并进行评测,对不同模型的测试表现进行了对比,得出 GPT4 表现最佳等结论,并总结了使用 Langchain 和 Ollama 技术栈在本地部署资讯问答机器人及相关要点,即上下文数据质量和大模型性能决定 RAG 系统性能上限。
2025-04-11
飞书智能伙伴创建平台 RAG实现
飞书智能伙伴创建平台(英文名:Aily)是飞书团队旗下的企业级 AI 应用开发平台,能提供简单、安全且高效的环境,帮助企业构建和发布 AI 应用,推动业务创新和效率提升,为企业探索大语言模型应用新篇章、迎接智能化未来提供理想选择。 在飞书智能伙伴创建平台上实现 RAG 相关应用有多种方式: 1. 利用飞书的知识库智能问答技术,引入 RAG 技术,通过机器人帮助用户快速检索内容。 2. 可以使用飞书的智能伙伴功能搭建 FAQ 机器人,了解智能助理的原理和使用方法。 3. 本地部署资讯问答机器人,如通过 Langchain + Ollama + RSSHub 实现 RAG,包括导入依赖库、从订阅源获取内容、为文档内容生成向量等步骤。例如使用 feedparse 解析 RSS 订阅源,ollama 跑大模型(使用前需确保服务开启并下载好模型),使用文本向量模型 bgem3(如从 https://huggingface.co/BAAI/bgem3 下载,假设放置在某个路径 /path/to/bgem3,通过函数利用 FAISS 创建高效向量存储)。 使用飞书智能伙伴创建平台的方式: 1. 在 WaytoAGI 飞书知识库首页找到加入飞书群的链接(二维码会定期更新,需在找到最新二维码),点击加入,直接@机器人。 2. 在 WaytoAGI.com 的网站首页,直接输入问题即可得到回答。 创建问答机器人的原因: 1. 知识库内容庞大,新用户难以快速找到所需内容。 2. 传统搜索基于关键词及相关性,存在局限性。 3. 需要用更先进的 RAG 技术解决问题。 4. 在群中提供快速检索信息的方式,使用更便捷。 2024 年 2 月 22 日的会议介绍了 WaytoAGI 社区的成立愿景和目标,以及其在飞书平台上的知识库和社区情况,讨论了相关技术和应用场景,并介绍了企业级 agent 方面的实践。
2025-04-08
RAG是什么
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. LLM 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. LLM 的知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. LLM 的输出难以解释和验证,存在内容黑盒、不可控及受幻觉干扰等问题。 4. LLM 容易泄露隐私训练数据。 5. LLM 的规模大,训练和运行成本高。 而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景如知识问答系统,用户提出问题,RAG 模型从大规模的文档集合中检索相关的文档,然后生成回答。 一个 RAG 的应用可抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,LangChain 提供了 100 多种不同的文档加载器。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. 输出:把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-04-03