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

RAG

Answer

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

通用语言模型通过微调可完成常见任务,而更复杂和知识密集型任务可基于语言模型构建系统,访问外部知识源来实现。Meta AI 研究人员引入 RAG 来完成这类任务,它将信息检索组件和文本生成模型结合。

RAG 会接受输入并检索相关支撑文档,给出文档来源(如维基百科),这些文档与原始提示词组合后送给文本生成器得到最终输出,能适应事实随时间变化,让语言模型获取最新信息并生成可靠输出。

大语言模型(LLM)存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有诸多优点,如数据库对数据的存储和更新稳定,数据更新敏捷且可解释,能降低大模型输出出错可能,便于管控用户隐私数据,降低大模型训练成本。

在本地部署资讯问答机器人方面,可基于用户问题从向量数据库中检索相关段落并过滤,让模型参考上下文信息回答,通过 gradio 创建网页 UI 并进行评测。测试表明,不同模型在回答表现上有所差异,上下文数据质量和大模型性能决定 RAG 系统性能上限,RAG 能提升答案质量和相关性,但不能完全消除问题。

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

References

检索增强生成 (RAG)

通用语言模型通过微调就可以完成几类常见任务,比如分析情绪和识别命名实体。这些任务不需要额外的背景知识就可以完成。要完成更复杂和知识密集型的任务,可以基于语言模型构建一个系统,访问外部知识源来做到。这样的实现与事实更加一性,生成的答案更可靠,还有助于缓解“幻觉”问题。Meta AI的研究人员引入了一种叫做[检索增强生成(Retrieval Augmented Generation,RAG)(opens in a new tab)](https://ai.facebook.com/blog/retrieval-augmented-generation-streamlining-the-creation-of-intelligent-natural-language-processing-models/)的方法来完成这类知识密集型的任务。RAG把一个信息检索组件和文本生成模型结合在一起。RAG可以微调,其内部知识的修改方式很高效,不需要对整个模型进行重新训练。RAG会接受输入并检索出一组相关/支撑的文档,并给出文档的来源(例如维基百科)。这些文档作为上下文和输入的原始提示词组合,送给文本生成器得到最终的输出。这样RAG更加适应事实会随时间变化的情况。这非常有用,因为LLM的参数化知识是静态的。RAG让语言模型不用重新训练就能够获取最新的信息,基于检索生成产生可靠的输出。Lewis等人(2021)提出一个通用的RAG微调方法。这种方法使用预训练的seq2seq作为参数记忆,用维基百科的密集向量索引作为非参数记忆(使通过神经网络预训练的检索器访问)。这种方法工作原理概况如下:图片援引自:[Lewis et el.(2021)(opens in a new tab)](https://arxiv.org/pdf/2005.11401.pdf)

问: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.数据库维护起来,可以降低大模型的训练成本,毕竟新知识存储在数据库即可,不用频繁更新模型,尤其是不用因为知识的更新而训练模型。

本地部署资讯问答机器人:Langchain+Ollama+RSSHub 实现 RAG

基于用户的问题,从向量数据库中检索相关段落,并根据设定的阈值进行过滤,最后让模型参考上下文信息回答用户的问题,从而实现RAG。|创建网页UI最后,通过gradio创建网页UI,并进行评测。生成的Web UI如下:需要上述完整代码的读者,关注本公众号,然后发送fin,即可获取github仓库代码链接。问答测试对于同样的问题和上下文,我基于Qwen-7b、Gemma、Mistral、Mixtral和GPT-4分别进行了多次测试。下面是一些case:qwengemmamistralmixtralgpt4主要结论(只是针对有限的几次测试,个人主观评判)如下:👍GPT-4表现最好,指令遵循能力很强,在回答的时候能附上引用段落编号✌️Mixtral表现第二,但没有在回答的时候附上引用💪Qwen-7b表现第三,也没有在回答的时候附上引用😅Gemma表现一般,而且回答里面有一些幻觉😅Mistral表现一般,使用英文回复,不过在回答的时候附上了引用段落编号总结1.本文展示了如何使用Langchain和Ollama技术栈在本地部署一个资讯问答机器人,同时结合RSSHub来处理和提供资讯。2.上下文数据质量和大模型的性能决定了RAG系统性能的上限。3.RAG通过结合检索技术和生成模型来提升答案的质量和相关性,可以缓解大模型幻觉、信息滞后的问题,但并不意味着可以消除。

Others are asking
什么是rag模型
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。 对于大语言模型(LLM)来说,存在一些缺点,如无法记住所有知识,尤其是长尾知识;知识容易过时且不好更新;输出难以解释和验证;容易泄露隐私训练数据;规模大,训练和运行成本高。 而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型本身的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 允许模型到搜索引擎上搜索问题相关资料,并综合自身知识体系进行回复。但 RAG 的检索环节并非简单操作,还涉及传统搜索的逻辑,如输入问题的纠错、补充、拆分以及搜索内容的权重逻辑等。例如,对于错误表述“中国界世杯夺冠那年的啤酒销量如何”,会先纠错为“中国世界杯夺冠那年的啤酒销量如何”,然后拆分问题进行综合搜索,再将搜索到的资料交给大模型总结输出。 大语言模型技术存在输出结果不可预测、知识有局限性、存在幻觉问题、数据安全性等问题,而 RAG 是解决这些问题的有效方案,它能让大模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制文本输出,且用户能深入了解 LLM 生成最终结果的过程。并且,RAG 可与微调结合使用,适用于模型回答特定询问或解决特定信息检索任务,但不适合教模型理解广泛领域或学习新的语言、格式或样式。
2025-02-12
RAG是什么
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构,旨在为大语言模型(LLM)提供额外的、来自外部知识源的信息。 大模型存在一些缺点,如无法记住所有知识(尤其是长尾知识)、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高。而 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,且对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据,便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本,新知识存储在数据库即可,无需频繁更新模型。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。其最常见应用场景是知识问答系统。 一个 RAG 的应用可以抽象为 5 个过程: 1. 文档加载:从多种不同来源加载文档,如 PDF 等非结构化数据、SQL 等结构化数据以及 Python、Java 之类的代码等。 2. 文本分割:文本分割器把 Documents 切分为指定大小的块,称为“文档块”或者“文档片”。 3. 存储:包括将切分好的文档块进行嵌入转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。 4. 检索:通过某种检索算法找到与输入问题相似的嵌入片。 5. Output(输出):把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
2025-02-12
RAG是什么
RAG 是检索增强生成技术(RetrievalAugmented Generation)。关于 RAG 的详细研究和应用,您可以参考以下文献: 1. Alibaba Group Holding Limited. Fiscal year annual report 2023. https://static.alibabagroup.com/reports/fy2023/ar/ebook/en/index.html, 2023. 2. Rongyu Cao, Hongwei Li, Ganbin Zhou, and Ping Luo. Towards document panoptic segmentation with pinpoint accuracy: Method and evaluation. In 16th International Conference on Document Analysis and Recognition, pages 3–18, 2021. 3. https://pdflux.com/. 4. Daisho Microline Holdings Limited. Fiscal year annual report 2022. https://www1.hkexnews.hk/listedco/listconews/sehk/2022/0626/2022062600094.pdf, 2022. 5. Peiyi Wang, Lei Li, Liang Chen, Dawei Zhu, Binghuai Lin, Yunbo Cao, Qi Liu, Tianyu Liu, and Zhifang Sui. Large language models are not fair evaluators, 2023. 6. Tesla Inc. Model 3 owner’s manual. https://manualdirectory.com/manual/2023teslamodel3ownersmanual/, 2023. 7. Flávio Cunha, Fatih Karahan, and Ilton Soares. Returns to skills and the college premium. Journal of Money, Credit and Banking, 43:39–86, 2011. https://scihub.hkvisa.net/https://doi.org/10.1111/j.15384616.2011.00410.x. 8. Tom S. Vogl. Height, skills, and labor market outcomes in mexico. NBER Working Paper Series, 2012. https://www.nber.org/system/files/working_papers/w18318/w18318.pdf.
2025-02-11
AI领域,传统机器学习,nlp,深度学习,大语言模型,rag,agent,请生成一张让普通人能看懂的AI领域概念图
以下是为您生成的 AI 领域概念图的相关解释: 人工智能(AI):一种目标,让机器展现智慧。 生成式人工智能(GenAI):一种目标,让机器产生复杂有结构的内容。 机器学习:一种手段,让机器自动从资料中找到公式,包括监督学习、无监督学习、强化学习。 监督学习:有标签的训练数据,学习输入和输出之间的映射关系,包括分类和回归。 无监督学习:学习的数据没有标签,算法自主发现规律,如聚类。 强化学习:从反馈里学习,最大化奖励或最小化损失。 深度学习:一种更厉害的手段,参照人脑有神经网络和神经元(因为有很多层所以叫深度),神经网络可用于多种学习方式。 大语言模型(LLM):是一类具有大量参数的“深度学习”模型。对于生成式 AI,生成图像的扩散模型不是大语言模型;对于大语言模型,生成只是其中一个处理任务,如谷歌的 BERT 模型可用于语义理解(不擅长文本生成),如上下文理解、情感分析、文本分类。 AIGC(Artificial Intelligence Generated Content):利用人工智能技术生成内容的新型生产方式,包括文本、图像、音频和视频等内容。 ChatGPT:一个应用实例,通过投喂大量资料预训练后,会通过聊天玩“文字接龙游戏”。它是美国 OpenAI 公司开发的一款基于大型语言模型(LLM)的对话机器人,能够根据用户的输入生成连贯且相关的文本回复。 2017 年 6 月,谷歌团队发表论文《Attention is All You Need》,首次提出了 Transformer 模型,它完全基于自注意力机制(SelfAttention)来处理序列数据,比 RNN 更适合处理文本的长距离依赖性。
2025-02-11
请列举可对接deepseek的本地部署的rag
以下是可对接 DeepSeek 的本地部署的 RAG 相关信息: DeepSeek 公司:深度求索。 DeepSeek 有网站、手机应用。 DeepSeek R1 大模型权重文件开源,可本地部署。但本地部署的版本存在一些不足,如难以作为长期使用的版本。 实现联网版的 R1 大模型的核心路径是通过工作流+DeepSeek R1 大模型。 拥有扣子专业版账号:若为普通账号,请自行升级或注册专业号后使用。 开通 DeepSeek R1 大模型的步骤:访问地址 https://console.volcengine.com/cozepro/overview?scenario=coze,打开火山方舟,找到开通管理,找到 DeepSeek R1 模型,点击开通服务,添加在线推理模型,添加后在扣子开发平台才能使用。 创建智能体:点击创建,先完成一个智能体的创建。
2025-02-09
rag
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。 大模型需要 RAG 进行检索优化的原因在于其存在一些缺点: 1. 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. 知识容易过时且不好更新,微调效果不佳且有丢失原有知识的风险。 3. 输出难以解释和验证,存在内容黑盒、不可控及受幻觉问题干扰的情况。 4. 容易泄露隐私训练数据。 5. 规模大,训练和运行成本高。 RAG 的优点包括: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,可解释且不影响原有知识。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库存储用户数据便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt 中,提交给大模型,让其回答充分考虑“包含答案的内容”。其最常见应用场景是知识问答系统。RAG 由“检索器”和“生成器”两部分组成,检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务,如问答系统,能提供详细准确的回答。
2025-02-07