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

解释一下RAG

Answer

RAG(Retrieval-Augmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。

大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有诸多优点:

  1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。
  2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。
  3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。
  4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。
  5. 数据库维护可降低大模型的训练成本。

在实际应用中,如本地部署大模型以及搭建个人知识库时,利用大模型搭建知识库就是 RAG 技术的应用。RAG 的应用可抽象为文档加载、文本分割、存储(包括嵌入和向量数据存储)、检索、输出这 5 个过程。在产品视角下,RAG 常见应用于知识问答系统,其核心流程是根据用户提问从私有知识中检索相关内容,与提问一起提交给大模型生成回答。

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

References

问:RAG 是什么?

RAG(Retrieval-Augmented Generation),即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,它旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。简单来说,就是通过检索的模式,为大语言模型的生成提供帮助,从而使大模型生成的答案更符合要求。[heading2]为什么LLM需要RAG?[content]众所周知,大模型已经在很多领域和问题下都取得了很好的效果,那为什么还需要RAG进行检索优化呢?[heading3]LLM的缺点[content]1.LLM无法记住所有知识,尤其是长尾的。受限于训练数据、现有的学习方式,对长尾知识的接受能力并不是很高;长尾数据是指数据集中某些类别数量较少,而其他类别样本数较多的不平衡“长尾”状态。例如在自然语言处理中,一些少见的词汇出现频率很低,而常见的词汇出现频率很高。2.LLM的知识容易过时,而且不好更新。只是通过微调,模型的接受能力其实并不高而且很慢,甚至有丢失原有知识的风险;3.LLM的输出难以解释和验证。一方面最终的输出的内容黑盒且不可控,另一方面最终的结果输出可能会受到幻觉之类的问题的干扰;4.LLM容易泄露隐私训练数据。用用户个人信息训练模型,会让模型可以通过诱导泄露用户的隐私;5.LLM的规模大,训练和运行的成本都很大。[heading3]RAG的优点[content]1.数据库对数据的存储和更新是稳定的,不像模型会存在学不会的风险。2.数据库的数据更新可以做得很敏捷,增删改查可解释,而且对原有的知识不会有影响。3.数据库的内容是明确、结构化的,加上模型本身的理解能力,一般而言数据库中的内容以及检索算法不出错,大模型的输出出错的可能就大大降低。4.知识库中存储用户数据,为用户隐私数据的管控带来很大的便利,而且可控、稳定、准确。5.数据库维护起来,可以降低大模型的训练成本,毕竟新知识存储在数据库即可,不用频繁更新模型,尤其是不用因为知识的更新而训练模型。

手把手教你本地部署大模型以及搭建个人知识库

因为利用大模型的能力搭建知识库本身就是一个RAG技术的应用。所以在进行本地知识库的搭建实操之前,我们需要先对RAG有一个大概的了解。以下内容会有些干,我会尽量用通俗易懂的描述进行讲解。我们都知道大模型的训练数据是有截止日期的,那当我们需要依靠不包含在大模型训练集中的数据时,我们该怎么做呢?实现这一点的主要方法就是通过检索增强生成RAG(Retrieval Augmented Generation)。在这个过程中,首先检索外部数据,然后在生成步骤中将这些数据传递给LLM。我们可以将一个RAG的应用抽象为下图的5个过程:文档加载(Document Loading):从多种不同来源加载文档。LangChain提供了100多种不同的文档加载器,包括PDF在内的非结构化的数据、SQL在内的结构化的数据,以及Python、Java之类的代码等文本分割(Splitting):文本分割器把Documents切分为指定大小的块,我把它们称为“文档块”或者“文档片”存储(Storage):存储涉及到两个环节,分别是:将切分好的文档块进行嵌入(Embedding)转换成向量的形式将Embedding后的向量数据存储到向量数据库检索(Retrieval):一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片Output(输出):把问题以及检索出来的嵌入片一起提交给LLM,LLM会通过问题和检索出来的提示一起来生成更加合理的答案[heading2]文本加载器(Document Loaders)[content]文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

RAG性能提升策略和评估方法(产品视角)

作者:牛大局原文:[RAG性能提升策略和评估方法(产品视角)](https://iac2rhlh02p.feishu.cn/wiki/WL4Lwx5dyigl4zkZQojc7esQnWf)[heading1]一、前言[content]相信经过一年的知识沉淀,RAG是什么大家都不陌生了。RAG是检索增强生成(Retrieval-Augmented Generation)的缩写,它是一种结合了检索模型和生成模型的技术。其核心目的是通过某种途径把知识告诉给AI大模型,让大模型“知道”我们的私有知识,变得越来越“懂”我们。RAG的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。RAG的最常见应用场景知识问答系统:RAG可以用于构建问答系统,用户提出问题,RAG模型从大规模的文档集合中检索相关的文档,然后生成回答。

Others are asking
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
通俗易懂地解释一下什么叫AGI,和我们平常理解的AI有什么区别
AGI 即通用人工智能,指的是一种能够完成任何聪明人类所能完成的智力任务的人工智能。 与平常理解的 AI 相比,平常的 AI 往往是针对特定领域或任务进行设计和优化的,例如下围棋、图像识别等。而 AGI 涵盖了更广泛的认知技能和能力,不仅限于特定领域,包括推理、规划、解决问题、抽象思维、理解复杂思想、快速学习和从经验中学习等,并且要求这些能力达到或超过人类水平。 在 AI 发展历程中,早期的研究有对智能的宏伟目标追求,但很多研究进展是狭义地关注明确定义的任务。直到 2000 年代初,“通用人工智能”(AGI)这一名词流行起来,强调从“狭义 AI”向更广泛的智能概念转变,回应了早期 AI 研究的长期抱负和梦想。 例如,GPT3 及其后续版本在某种程度上是朝着 AGI 迈出的巨大一步,早期的语言模型则没有像 GPT3 这样连贯回应的能力。
2025-03-22
请解释一下AGI是什么意思
AGI 指的是通用人工智能(Artificial General Intelligence),它是一种能够像人类一样思考、学习和执行多种任务的人工智能系统。 例如,OpenAI 致力于研发实现 AGI 的技术,像 GPT 系列模型在某种程度上是朝着 AGI 迈出的巨大一步。人类在不断创新,从电力、晶体管、计算机、互联网,到很快可能出现的 AGI,每一代新的工具都推动着世界的进步。在未来,AGI 可能会让人们的生活在各方面获得极大的改善,比如治愈所有疾病、有更多时间陪伴家人以及充分发挥创造潜能等。
2025-03-06
langchain 大白话解释一下给我听
LangChain 是一个用于构建高级语言模型应用程序的框架。它能简化开发人员使用语言模型构建端到端应用程序的流程,提供了一系列工具、组件和接口,让创建由大型语言模型和聊天模型支持的应用程序更轻松。 其核心概念包括组件和链,组件是模块化的构建块,可组合创建强大应用,链则是一系列组件或其他链的组合,用于完成特定任务。 主要特点有: 1. 模型抽象:提供对大型语言模型和聊天模型的抽象,方便开发人员选择合适模型并利用组件构建应用。 2. 提示模板和值:支持创建和管理提示模板,引导语言模型生成特定输出。 3. 链:允许开发人员定义一系列处理步骤,按顺序执行完成复杂任务。 4. 代理:支持构建代理,能使用语言模型做决策,并根据用户输入调用工具。 LangChain 支持多种用例,如针对特定文档的问答、聊天机器人、代理等,能与外部数据源交互收集数据,还提供内存功能维护状态。它旨在为开发人员提供强大工具集,构建适应性强、高效且能处理复杂用例的高级语言模型应用程序。
2025-02-08
帮我用最简单的方法解释一下时间序列模型
时间序列模型是用于分析和处理随时间变化的数据的一类模型。 例如,在评估 GPT4V 对时间序列和视频内容的理解时,会考虑其对现实世界中随时间展开的事件的理解能力,像时间预测、排序、定位、推理和基于时间的理解等。 在视频生成方面,如 Video LDM 模型,先训练图像生成器,再微调添加时间维度以生成视频。 总的来说,时间序列模型旨在理解和预测数据在时间上的变化规律和趋势。
2025-01-23
解释一下RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有诸多优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 在实际应用中,如本地部署大模型以及搭建个人知识库时,利用大模型搭建知识库就是 RAG 技术的应用。RAG 的应用可抽象为文档加载、文本分割、存储(包括嵌入和向量数据存储)、检索、输出这 5 个过程。在产品视角下,RAG 常见应用于知识问答系统,其核心流程是根据用户提问从私有知识中检索相关内容,与提问一起提交给大模型生成回答。
2025-01-16
请解释一下AI智能体的概念及功能
AI 智能体是指类似于 AI 机器人小助手的存在。简单理解,参照移动互联网,它类似 APP 应用的概念。AI 大模型是技术,而面向用户提供服务的产品形式就是智能体,所以很多公司关注 AI 应用层的产品机会。 在 C 端,比如社交方向,用户注册后先创建自己的智能体,然后让其与他人的智能体聊天,聊到一起后真人再介入,这是一种有趣的场景;还有借 Onlyfans 入局打造个性化聊天的创业公司。在 B 端,如果字节扣子和腾讯元器是面向普通人的低代码平台,类似 APP 时代的个人开发者,那还有帮助 B 端商家搭建智能体的机会,类似 APP 时代专业做 APP 的。 目前有不少大厂推出自己的 AI 智能体平台,如字节的扣子、阿里的魔搭社区等。AI 智能体拥有各项能力,能帮我们做特定的事情。它包含了自己的知识库、工作流,还可以调用外部工具,再结合大模型的自然语言理解能力,就可以完成比较复杂的工作。AI 智能体的出现是为了解决像 GPT 或者文心一言大模型存在的胡编乱造、时效性、无法满足个性化需求等问题,结合自身业务场景和需求,定制出适合自己的智能体来解决问题。 例如,扣子(Coze)是字节跳动旗下的新一代一站式 AI Bot 开发平台,无论用户是否具备编程基础,都能在该平台上迅速构建基于 AI 模型的各类问答 Bot,开发完成后还可将其发布到各种社交平台和通讯软件上供用户交互聊天。创建智能体通常包括起名称、写介绍、使用 AI 创建头像等简单步骤。
2024-12-17