直达「 通往AGI之路 」飞书知识库 →
首页/问答列表/问答详情

RAG

回答

RAG(Retrieval-Augmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。

它旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。通过检索的模式为大语言模型的生成提供帮助,使大模型生成的答案更符合要求。

LLM 需要 RAG 进行检索优化的原因在于 LLM 存在一些缺点:

  1. 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。
  2. 知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。
  3. 输出难以解释和验证,存在内容黑盒、不可控以及受幻觉问题干扰的情况。
  4. 容易泄露隐私训练数据。
  5. 规模大,训练和运行成本高。

RAG 具有以下优点:

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

RAG 在 Natural Questions、WebQuestions 和 CuratedTrec 等基准测试中表现出色,在使用 MS-MARCO 和 Jeopardy 问题进行测试时,生成的答案更符合事实、具体且多样,FEVER 事实验证使用 RAG 后也得到了更好的结果。基于检索器的方法越来越流行,常与 ChatGPT 等流行 LLM 结合使用来提高其能力和事实一致性。

在商业化问答场景中,优化 AI 更准确回答问题的过程中,RAG 是一个重要的术语。它由检索器和生成器两部分组成,检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务,如问答系统,能提供详细准确的回答。

内容由 AI 大模型生成,请仔细甄别(powered by aily)

参考资料

问:RAG 是什么?

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

检索增强生成 (RAG)

[title]检索增强生成(RAG)RAG在[Natural Questions(opens in a new tab)](https://ai.google.com/research/NaturalQuestions)、[WebQuestions(opens in a new tab)](https://paperswithcode.com/dataset/webquestions)和CuratedTrec等基准测试中表现抢眼。用MS-MARCO和Jeopardy问题进行测试时,RAG生成的答案更符合事实、更具体、更多样。FEVER事实验证使用RAG后也得到了更好的结果。这说明RAG是一种可行的方案,能在知识密集型任务中增强语言模型的输出。最近,基于检索器的方法越来越流行,经常与ChatGPT等流行LLM结合使用来提高其能力和事实一致性。LangChain文档中可以找到[一个使用检索器和LLM回答问题并给出知识来源的简单例子(opens in a new tab)](https://python.langchain.com/docs/use_cases/question_answering/quickstart)。

【AI+知识库】商业化问答场景,让AI回复更准确,一篇专为所有“小白”讲透RAG的实例教程(上篇)

RAG(Retrieval-Augmented Generation),即检索增强生成,是一种结合信息检索和文本生成能力的技术,它由两部分组成:一个“检索器”和一个“生成器”。检索器从外部知识中快速找到与问题相关的信息,生成器则利用这些信息来制作精确和连贯的答案。这种结合使得RAG非常适合处理需要广泛知识的任务,如问答系统,能够提供详细而准确的回答。

其他人在问
rag 多智能体
多智能体(MultiAgent)是由多个自主、独立的智能体(Agent)组成的系统。在这个系统中,每个智能体都能感知环境、进行决策并执行任务,且它们之间可进行信息共享、任务协调与协同行动以实现整体目标。 随着大型语言模型(LLM)出现,以 LLM 为核心构建的 Agent 系统受广泛关注。Agent 系统会为不同 Agent 分配角色和任务信息,并配备工具插件以完成复杂任务。目前常见框架多集中在单 Agent 场景,其核心在于 LLM 与工具协同配合,可能需与用户多轮交互。同时,更多 Agent 框架开始关注多 Agent 场景,会为不同 Agent 指定角色并通过协作完成复杂任务,与用户交互可能减少。 构建多 Agent 框架,需考虑相对于单 Agent 增加的组件,如: 1. 环境(environment):所有 Agent 处于同一环境,环境含全局状态信息,Agent 与环境有信息交互与更新。 2. 阶段(stage):现有多 Agent 框架常采用 SOP 思想,将复杂任务分解为多个子任务。 3. 控制器(controller):可以是 LLM 或预先定义好的规则,负责环境在不同 Agent 和阶段间切换。 4. 记忆:多 Agent 框架中因 Agent 数量增多,消息数量及相关字段增多。 OpenAI 官方开源多智能体框架「Swarm」,其优势在于处理了不同智能体之间通信的“交接”逻辑。例如构建客服多智能体,可能只需准备普通接线客服和宽带客服两个 Agent。 另外,轨道智能体是一类更高级的智能体,被赋予更高级目标和更多自由度,仍受程序性知识指导,拥有预定义工具并受约束。运行时会产生特定模式,可能需要额外数据基础设施支持。
2024-11-04
RAG应该怎么使用呢
RAG(检索增强生成)是一种结合了检索和生成的技术,具有以下特点和使用流程: 特点: 可以让大模型在生成文本时利用额外的数据源,从而提高生成的质量和准确性。 能解决大语言模型在实际应用中的一些问题,如知识局限性、幻觉问题和数据安全性等。 使用流程: 1. 首先,给定一个用户的输入,如问题或话题。 2. RAG会从数据源(如网页、文档或数据库记录)中检索出与之相关的文本片段,这些片段称为上下文。 3. 将用户的输入和检索到的上下文拼接成一个完整的输入,并传递给大模型(如 GPT)。输入通常包含提示,指导模型生成期望的输出,如答案或摘要。 4. 最后,从大模型的输出中提取或格式化所需的信息,返回给用户。 此外,RAG 可以和微调结合使用,类似于为模型提供教科书,适用于模型回答特定询问或解决特定信息检索任务,但不适合教模型理解广泛领域或学习新的语言、格式或样式。
2024-11-04
有没有关于RAG的实践
以下是关于 RAG 的一些实践: OpenAI 的实践:从 45%的准确率开始,尝试多种方法,如假设性文档嵌入(HyDE)和精调嵌入等,效果不理想。通过尝试不同大小块的信息和嵌入不同的内容部分,准确率提升到 65%。通过 Reranking 和对不同类别问题特别处理,进一步提升到 85%。最终,通过提示工程、查询扩展等方法结合,达到 98%的准确率。团队强调了模型精调和 RAG 结合使用的强大潜力,尤其是在未使用复杂技术的情况下,仅通过简单的模型精调和提示工程就接近行业领先水平。 本地部署大模型以及搭建个人知识库:利用大模型的能力搭建知识库是 RAG 技术的应用。RAG 应用可抽象为 5 个过程,包括文档加载、文本分割、存储(包括嵌入和向量数据存储)、检索、输出(把问题及检索出的嵌入片提交给 LLM 生成答案)。 本地部署资讯问答机器人:基于用户问题从向量数据库中检索相关段落并过滤,让模型参考上下文信息回答,实现 RAG。通过 gradio 创建网页 UI 并进行评测,对不同模型如 Qwen7b、Gemma、Mistral、Mixtral 和 GPT4 进行测试,得出 GPT4 表现最好等结论。同时总结指出上下文数据质量和大模型性能决定 RAG 系统性能上限,RAG 能提升答案质量和相关性,但不能完全消除大模型幻觉、信息滞后问题。
2024-11-03
专门为大模型RAG设计的知识库产品 有哪些?
以下是一些专门为大模型 RAG 设计的知识库产品: 1. Metaso.cn:适用于学术、研究领域。 2. So.360.com:在生活方面提供便捷的搜索服务。 3. Felo.ai/search:具有综合性的特点。 4. Devv.ai:主要面向程序员、开发者。 5. Perplexity:属于付费产品,提供高质量的服务。 6. Bing.com:具有通用性。 7. Google.com:在全球范围内提供精准的搜索结果。 RAG 就像一个超级智能的图书馆员,其工作流程包括检索、增强和生成三个环节。在不改变大模型本身的基础上,通过外挂知识库等方式,为模型提供特定领域的数据信息输入,让模型能基于特定的数据生成内容、降低幻觉,实现对该内容更准确的信息检索和生成。 RAG 具有成本效益、灵活性和可扩展性等优点,比如实现成本更低,可以利用多种数据源,能随时增加或更新知识库中的内容。但也存在回答准确性不够的缺点。 在一些示例中,如设定使用阿里千问模型作为 AI 模型,将角色设定为“美嘉”并按照其人设、背景和对话风格设定提示词,放入《爱情公寓》全季剧情作为知识库,从而让“美嘉”拥有过往“记忆”。
2024-10-28
RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。 大语言模型(LLM)需要 RAG 进行检索优化,原因在于 LLM 存在一些缺点: 1. 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. 知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. 输出难以解释和验证,存在内容黑盒、不可控及受幻觉问题干扰的情况。 4. 容易泄露隐私训练数据。 5. 规模大,训练和运行成本高。 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且不影响原有知识。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 便于管控用户隐私数据,且可控、稳定、准确。 5. 可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 在 Natural Questions、WebQuestions 和 CuratedTrec 等基准测试中表现出色,在知识密集型任务中能增强语言模型的输出。基于检索器的方法越来越流行,常与 ChatGPT 等流行 LLM 结合使用。 在商业化问答场景中,优化 AI 更准确回答问题的过程称为 RAG。RAG 由检索器和生成器组成,检索器从外部知识中找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务,如问答系统。
2024-10-26
怎么写文档会让RAG 效果更好
要让 RAG 效果更好地写文档,您可以参考以下要点: 1. 文档切割: 合理的文档切割能让系统返回更完整、连贯的结果。例如,对于“猫咪的饮食习惯是什么?”的查询,将相关内容切割为“猫咪的饮食习惯取决于它们的年龄、健康状况和品种。”和“幼猫需要更多的蛋白质,而成年猫则需要均衡的营养。”这样的文档块。 目前免费平台一般提供智能切割和手动切割两种方式。但在当下技术水平下,智能切割效果一般,对于以问答为主的客服场景,将一个问答对切成一个文档片,检索效果会很好。 2. 整理知识库文档阶段: 确定知识库包含的文档类型,如政策原文文档、业务积累的 QA、操作指引、产品说明等,并进行预处理。 知识库本身质量对最终效果至关重要,是大模型生成回答的原始语料。 优化方向包括: 文档格式:PDF 文档格式信息相对简洁,干扰少,但也有说.docx 效果更优的,需根据场景测试。 文档命名:尽量控制在 10 字左右,涵义简洁明了,避免无意义的数字、符号或缩写。 文档语言:尽量统一为同一种,避免中英文混切导致乱码和无用数据。 文档内容:设置清晰的一二级标题,对特殊元素进行处理。 构建问答对:能达到更好效果,但耗费人力和运营成本,需综合考虑。 3. 通用语言模型微调可完成常见任务,更复杂和知识密集型任务可基于语言模型构建系统,访问外部知识源。Meta AI 引入的 RAG 方法把信息检索组件和文本生成模型结合,可接受输入并检索相关文档,给出来源,适应事实变化,不用重新训练就能获取最新信息并生成可靠输出。Lewis 等人(2021)提出通用的 RAG 微调方法,使用预训练的 seq2seq 作为参数记忆,用维基百科的密集向量索引作为非参数记忆。
2024-10-21