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

RAG到底是什么

Answer

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

具体来说:

  • 利用大模型的能力搭建知识库本身就是一个 RAG 技术的应用。
  • 当需要依靠不包含在大模型训练集中的数据时,可通过 RAG 实现。其过程包括文档加载(从多种不同来源加载文档)、文本分割(把文档切分为指定大小的块)、存储(将切分好的文档块进行嵌入转换成向量形式并存储到向量数据库)、检索(通过某种检索算法找到与输入问题相似的嵌入片)。

LangChain 是一个用于构建高级语言模型应用程序的框架,它和 RAG 的关系在于:RAG 是一种结合了检索(检索外部知识库中相关信息)和生成(利用 LLM 生成文本)的技术,能够为 LLM 提供来自外部知识源的附加信息,使得 LLM 在应对下游任务时能够生成更精确和上下文相关的答案,并减少 LLM 的幻觉现象。而 LangChain 的设计主张集中在模块化组件上,为使用 LLM 提供行为抽象和实现集合,允许开发人员构造新链或实现现成的链。

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

References

问:RAG 是什么?

RAG(Retrieval-Augmented Generation),即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,它旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。简单来说,就是通过检索的模式,为大语言模型的生成提供帮助,从而使大模型生成的答案更符合要求。

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

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

问:LangChain 和 RAG 有什么关系?

LangChain是一个用于构建高级语言模型应用程序的框架,它提供了一系列的工具和组件,使得开发人员能够更容易地使用大型语言模型(LLM)来创建各种应用程序。LangChain的设计主张集中在模块化组件上,这些组件提供用于使用LLM的行为抽象,并为每个抽象提供实现的集合,从而允许开发人员构造新链或实现现成的链。RAG,即检索增强生成(Retrieval-Augmented Generation),是一种结合了检索(检索外部知识库中相关信息)和生成(利用LLM生成文本)的技术。RAG能够为LLM提供来自外部知识源的附加信息,使得LLM在应对下游任务时能够生成更精确和上下文相关的答案,并减少LLM的幻觉现象。LangChain和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
langchain到底是什么。如何理解。
LangChain 是一个用于构建高级语言模型应用程序的框架,旨在简化开发人员使用语言模型构建端到端应用程序的过程。 它具有以下特点和优势: 1. 提供了一系列工具、组件和接口,使利用大型语言模型(LLM)和聊天模型创建应用程序更便捷。 2. 核心概念包括组件和链,组件是模块化构建块,可组合创建强大应用,链是一系列组件或其他链的组合,用于完成特定任务。 3. 具有模型抽象功能,能为用例选择合适模型,并利用组件构建应用。 4. 支持创建和管理提示模板,引导语言模型生成特定输出。 5. 允许开发人员定义处理步骤链,完成复杂任务。 6. 支持构建代理,能使用语言模型做决策并调用工具。 7. 支持多种用例,如针对特定文档的问答、聊天机器人、代理等,可与外部数据源交互收集数据,并提供内存功能维护状态。 LangChain 还是一个为简化大模型应用开发而设计的开源框架,通过提供模块化的工具和库,允许开发者轻松集成和操作多种大模型,将更多精力投入到创造应用的核心价值上。其设计注重简化开发流程,支持广泛的模型,具备良好的可扩展性,以适应业务需求变化。作为得到社区广泛支持的开源项目,拥有活跃的贡献者和持续更新,提供全面的文档和示例代码帮助新用户快速掌握,同时充分考虑了应用的安全性和用户数据的隐私保护,是多语言支持的灵活框架,适用于各种规模的项目和不同背景的开发者。 LangChain 官方手册:https://python.langchain.com/docs/get_started/introduction/
2025-03-21
deepseek到底是什么?打个比方
DeepSeek 是一个在 AI 领域受到关注的品牌。它在硅谷受到关注和追逐,早在 2024 年 5 月 DeepSeekV2 发布时,就以多头潜在注意力机制(MLA)架构的创新引发了小范围轰动。DeepSeek 不是“中国式创新”的产物,其秘方更具硅谷风格。 DeepSeek 是基于 AI 模型的产品,需要搭配具体模型,如 DeepSeek V3(类 GPT4o)和 DeepSeek R1(类 OpenAI o1)。它展示出媲美领先 AI 产品性能的模型,但成本较低,在全球主要市场的 App Store 登顶。在实际使用体验方面,在文字能力上表现突出,尤其在中文场景中高度符合日常、写作习惯,但在专业论文总结方面稍弱。数学能力经过优化表现不错,编程能力略逊于 GPT。 需要注意的是,将 DeepSeek 比喻成“AI 界的拼多多”是偏颇的,认为其秘方就是多快好省也是不全面的。
2025-03-03
我在一周前的文章[1]里说对 DeepSeek-R1 只需要说大白话,但在三天前的文章[2]里又用了看起来还挺复杂的结构化提示词。有伙伴问我到底咋回事。这就来解释下喽。
以下是关于 DeepSeekR1 提示词的相关信息: 历史更新: 字节跳动推出新技术 OmniHuman,利用单张图片和音频生成生动视频。 DeepSeek 的出现标志着算力效率拐点显现,其优化算法架构提升算力利用效率,AI 基础大模型参数量迎来拐点,2025 年是算法变革元年,其训练过程聚焦强化学习提升推理能力。 提示词方法论: 核心原理认知:包括多模态理解、动态上下文、任务适应性等 AI 特性定位,以及采用意图识别+内容生成双通道处理等系统响应机制。 基础指令框架:包括四要素模板、格式控制语法等。 进阶控制技巧:如思维链引导、知识库调用、多模态输出。 高级调试策略:包括模糊指令优化、迭代优化法。 行业应用案例:涵盖技术开发场景、商业分析场景。 异常处理方案:如处理信息幻觉、格式偏离、深度不足等情况。 效能监测指标:包括首次响应准确率、多轮对话效率、复杂任务分解等。 在 R1 时代,使用 AI 提示词关键在于提供足够背景信息,简单大白话有效但信息量不足难达理想结果,示例和框架可助理清思路,最终影响在于思考和表达,利用乔哈里视窗分析信息需求,避免过度指令化,让 AI 自由思考以激发更高创意和效果。
2025-02-07
到底什么是大家说的AI
AI 分为 ANI 和 AGI 。ANI 即 artificial narrow intelligence 弱人工智能,它只能做一件事,比如智能音箱、网站搜索、自动驾驶、工厂与农场的应用等。AGI 即 artificial general intelligence ,能做任何人类可以做的事。 简单地说,AI 是让计算机或机器能像人类一样思考和学习的技术。比如在小学课堂上,会以学生能理解的语言来解释,先和学生互动,听听他们口中的 AI ,再引出概念。 从专业术语角度,机械学习是学习输入输出,从 A 到 B 的映射,是让电脑在不被编程的情况下自己学习的研究领域。数据科学是分析数据集,从数据中获取结论与提示,输出结果往往是幻灯片、结论、PPT 、项目结果等。神经网络/深度学习则有输入层、输出层、中间层(隐藏层)。 数据集,又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。通常以表格形式出现,每一列代表一个特定变量,每一行对应于某一成员的数据集的问题。数据分为结构化数据与非结构化数据,结构化数据可以放在巨大的表格中,非结构化数据如图片、视频、文本,机器处理起来更难。获取数据的方法有手动标注、观察行为、网络下载。使用数据时,如果开始搜集数据,可以马上将数据展示或者喂给某个 AI 团队。但数据不一定多就有用,有时数据中会出现不正确、缺少的数据,这就需要有效处理数据。
2025-02-01
到底有多强大
以下是关于不同 AI 相关内容强大之处的介绍: Sora:当不复制旧的,而是把新的、不可能的想法变成现实时,Sora 最为强大。它能帮助创意人员将想法变为现实,不仅擅长创造看起来真实的东西,创造完全超现实的东西的能力也令人兴奋。 LORA:在画风、人物、物品、动作姿态的固定方面表现强大,其文件承载的信息量远大于 Embedding,在还原真人物品时细节精度更高。使用时需注意搭配相应大模型和特定触发词。 Hypernetworks:主要针对画风训练,可像 LORA 一样加载使用。 Google 的 Gemini:是 Google DeepMind 团队开发的多模态模型,支持多种提示类型,能理解和处理几乎任何输入,结合不同类型信息并生成几乎任何输出,被称为 Google 迄今为止最强大、最全面的模型,是原生多模态大模型,从设计之初就支持多模态,能处理多种形式的数据。
2025-01-26
ai到底是什么
AI(人工智能)是一门令人兴奋的科学,它是指某种模仿人类思维,可以理解自然语言并输出自然语言的东西。 对于没有理工科背景的人来说,将 AI 当成一个黑箱来理解是一种可行的方式,即只需要知道它能通过特定的文字、仪轨程式来引用已有资源,驱使某种可以一定方式/程度理解人类文字的异类达成预设效果,且其生态位是一种似人而非人的存在。 从历史角度看,最初计算机由查尔斯·巴贝奇发明,用于按照明确的程序进行数字运算。现代计算机虽更先进,但仍遵循相同的受控计算理念。然而,对于像根据照片判断一个人的年龄这类任务,由于无法明确具体步骤,所以是人工智能感兴趣的领域。 在应用方面,AI 健身是利用人工智能技术辅助或改善健身训练和健康管理的方法,能为用户提供个性化的指导。例如 Keep、Fiture、Fitness AI、Planfit 等都是不错的 AI 健身工具。
2025-01-08