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

什么是RAG技术

回答

RAG 是检索增强生成(Retrieval-Augmented Generation)的缩写,是一种结合了检索模型和生成模型的技术。其核心目的是通过某种途径把知识告诉给 AI 大模型,让大模型“知道”我们的私有知识,变得越来越“懂”我们。

RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。

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

一个 RAG 的应用可以抽象为 5 个过程:

  1. 文档加载(Document Loading):从多种不同来源加载文档。
  2. 文本分割(Splitting):把 Documents 切分为指定大小的块,称为“文档块”或者“文档片”。
  3. 存储(Storage):包括将切分好的文档块进行嵌入(Embedding)转换成向量的形式,以及将 Embedding 后的向量数据存储到向量数据库。
  4. 检索(Retrieval):通过某种检索算法找到与输入问题相似的嵌入片。
  5. Output(输出):把问题以及检索出来的嵌入片一起提交给 LLM,LLM 会通过问题和检索出来的提示一起来生成更加合理的答案。
内容由 AI 大模型生成,请仔细甄别(powered by aily)

参考资料

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

相信经过一年的知识沉淀,RAG是什么大家都不陌生了。RAG是检索增强生成(Retrieval-Augmented Generation)的缩写,它是一种结合了检索模型和生成模型的技术。其核心目的是通过某种途径把知识告诉给AI大模型,让大模型“知道”我们的私有知识,变得越来越“懂”我们。RAG的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。RAG的最常见应用场景知识问答系统:RAG可以用于构建问答系统,用户提出问题,RAG模型从大规模的文档集合中检索相关的文档,然后生成回答。

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

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

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

文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理

其他人在问
有没有RAG 基本架构的中文图示
以下是关于 RAG 基本架构的介绍: RAG 是当今大多数现代人工智能应用程序的标准架构。以 Sana 的企业搜索用例为例,其工作原理如下: 1. 应用程序加载和转换无结构文件(如 PDF、幻灯片、文本文件),跨越企业数据孤岛(如 Google Drive 和 Notion),通过数据预处理引擎(如 Unstructured)转换为 LLM 可查询格式。 2. 这些文件被“分块”成更小的文本块,作为向量嵌入并存储在数据库(如 Pinecone)中,以实现更精确的检索。 3. 当用户提出问题时,系统检索语义上最相关的上下文块,并将其折叠到“元提示”中,与检索到的信息一起馈送给 LLM。 4. LLM 从检索到的上下文中合成答复返回给用户。 RAG 的基本概念: RAG 是一种结合了检索和生成的技术,能让大模型在生成文本时利用额外的数据源,提高生成的质量和准确性。其基本流程为: 首先,给定用户输入(如问题或话题),RAG 从数据源中检索出相关文本片段(称为上下文)。 然后,将用户输入和检索到的上下文拼接成完整输入传递给大模型(如 GPT),输入通常包含提示,指导模型生成期望输出(如答案或摘要)。 最后,从大模型的输出中提取或格式化所需信息返回给用户。
2024-10-17
基于飞书的知识库RAG的搭建,需要什么接口进行全文搜索
基于飞书的知识库 RAG 搭建,可用于全文搜索的接口方式主要有以下几种: 1. 语义检索:语义匹配关注查询和文档内容的意义,而非仅仅表面的词汇匹配。通过向量的相似性来判断语义的相似性。 2. 全文检索:这是基于关键词的检索方式。例如,对于句子“猫的饮食习惯包括吃鱼和鸡肉”,输入“猫”“饮食”“猫的饮食习惯”“吃鱼”等关键词可搜索到该句子,但输入“猫喜欢吃什么呀”则无法搜索到。 3. 混合检索:结合了语义匹配和全文检索的优点,通常系统先进行全文检索获取初步结果,然后再对这些结果进行语义匹配和排序。 此外,在本地部署资讯问答机器人实现 RAG 时,会涉及加载所需的库和模块,如 feedparse 用于解析 RSS 订阅源,ollama 用于在 python 程序中跑大模型。还会为文档内容生成向量,如使用文本向量模型 bgem3 等。 在开发 LangChain 应用开发指南中,实现 LangChain 和 RAG 的结合时,需要加载数据、分割文档、转换嵌入并存储到向量存储器、创建检索器以及聊天模型等步骤。
2024-10-17
如何在个人电脑中部署本地RAG
在个人电脑中部署本地 RAG 可以按照以下步骤进行: 1. 加载所需的库和模块: 确保 ollama 服务已开启并下载好模型,ollama 用于在 python 程序中跑大模型。 feedparse 用于解析 RSS 订阅源。 2. 从订阅源获取内容: 函数用于从指定的 RSS 订阅 url 提取内容,如需接收多个 url 可稍作改动。 通过专门的文本拆分器将长文本拆分成较小的块,并附带相关元数据,如标题、发布日期和链接。最终,这些文档被合并成一个列表并返回,用于进一步的数据处理或信息提取任务。 3. 为文档内容生成向量: 使用文本向量模型 bgem3,从 hf 下载好模型后放置在指定路径,如 /path/to/bgem3,通过函数利用 FAISS 创建一个高效的向量存储。 4. 创建 Python 虚拟环境: 创建 python 虚拟环境,并安装相关库,版本如下: ollama:0.1.8 langchain:0.1.14 faisscpu:1.8.0(有 gpu 则安装 gpu 版本) gradio:4.25.0 feedparser:6.0.11 sentencetransformers:2.6.1 lxml:5.2.1 5. 导入依赖库。 6. 基于用户的问题,从向量数据库中检索相关段落,并根据设定的阈值进行过滤,最后让模型参考上下文信息回答用户的问题,从而实现 RAG。 7. 创建网页 UI:通过 gradio 创建网页 UI,并进行评测。 8. 问答测试:对于同样的问题和上下文,基于 Qwen7b、Gemma、Mistral、Mixtral 和 GPT4 分别进行多次测试。 总结: 1. 本文展示了如何使用 Langchain 和 Ollama 技术栈在本地部署一个资讯问答机器人,同时结合 RSSHub 来处理和提供资讯。 2. 上下文数据质量和大模型的性能决定了 RAG 系统性能的上限。 3. RAG 通过结合检索技术和生成模型来提升答案的质量和相关性,可以缓解大模型幻觉、信息滞后的问题,但并不意味着可以消除。
2024-10-13
知识图片与RAG
RAG 分为离线数据处理和在线检索两个过程。离线数据处理旨在构建知识库,就像准备一本“活字典”,知识会按特定格式和排列方式存储在其中以待使用。在线检索则是利用知识库和大模型进行查询的过程。 LangChain 是专注于大模型应用开发的平台,提供一系列组件和工具帮助构建 RAG 应用,包括: 1. 数据加载器(DocumentLoader):能从数据源加载数据并转换为包含 page_content(文本内容)和 metadata(元数据)的文档对象。 2. 文本分割器(DocumentSplitter):将文档对象分割成多个小文档对象,方便后续检索和生成,因大模型输入窗口有限,短文本更易找相关信息。 3. 文本嵌入器(Embeddings):将文本转换为高维向量的嵌入,用于衡量文本相似度以实现检索。 4. 向量存储器(VectorStore):存储和查询嵌入,通常使用 Faiss 或 Annoy 等索引技术加速检索。 5. 检索器(Retriever):根据文本查询返回相关文档对象,常见实现是向量存储器检索器,利用向量存储器的相似度搜索功能检索。 6. 聊天模型(ChatModel):基于大模型如 GPT3,根据输入序列生成输出消息。 使用 LangChain 构建 RAG 应用的一般流程如下:(具体流程未给出)
2024-10-11
RAG什么意思
RAG 是检索增强生成(RetrievalAugmented Generation)的缩写,是一种结合了检索模型和生成模型的技术。其核心目的是通过某种途径把知识告诉给 AI 大模型,让大模型“知道”我们的私有知识,变得越来越“懂”我们。 RAG 的核心流程是根据用户提问,从私有知识中检索到“包含答案的内容”,然后把“包含答案的内容”和用户提问一起放到 prompt(提示词)中,提交给大模型,此时大模型的回答就会充分考虑到“包含答案的内容”。 RAG 的最常见应用场景包括知识问答系统,用户提出问题,RAG 模型从大规模的文档集合中检索相关的文档,然后生成回答。 大模型存在一些缺点,如无法记住所有知识尤其是长尾知识、知识容易过时且不好更新、输出难以解释和验证、容易泄露隐私训练数据、规模大导致训练和运行成本高,而 RAG 具有一些优点,如数据库对数据的存储和更新稳定、数据更新敏捷且可解释、能降低大模型输出出错的可能、便于管控用户隐私数据、可降低大模型的训练成本。 一个 RAG 的应用可以抽象为 5 个过程:文档加载(从多种不同来源加载文档)、文本分割(把文档切分为指定大小的块)、存储(将切分好的文档块进行嵌入转换成向量形式并存储到向量数据库)、检索(通过检索算法找到与输入问题相似的嵌入片)、输出(把问题以及检索出来的嵌入片一起提交给 LLM 生成答案)。
2024-10-08
RAG
RAG(RetrievalAugmented Generation)即检索增强生成,是一种结合检索和生成能力的自然语言处理架构。 大语言模型(LLM)需要 RAG 进行检索优化的原因在于 LLM 存在一些缺点: 1. 无法记住所有知识,尤其是长尾知识,受限于训练数据和学习方式,对长尾知识的接受能力不高。 2. 知识容易过时且不好更新,微调效果不佳,还存在丢失原有知识的风险。 3. 输出难以解释和验证,结果可能受幻觉等问题干扰,且内容黑盒不可控。 4. 容易泄露隐私训练数据。 5. 规模大,训练和运行成本高。 RAG 具有以下优点: 1. 数据库对数据的存储和更新稳定,不存在模型学不会的风险。 2. 数据库的数据更新敏捷,增删改查可解释,对原有知识无影响。 3. 数据库内容明确、结构化,加上模型的理解能力,能降低大模型输出出错的可能。 4. 知识库便于管控用户隐私数据,且可控、稳定、准确。 5. 数据库维护可降低大模型的训练成本。 RAG 在 Natural Questions、WebQuestions 和 CuratedTrec 等基准测试中表现出色,在使用 MSMARCO 和 Jeopardy 问题进行测试时,生成的答案更符合事实、具体且多样,FEVER 事实验证使用 RAG 后也有更好结果。基于检索器的方法越来越流行,常与 ChatGPT 等流行 LLM 结合使用以提高能力和事实一致性。 在商业化问答场景中,优化 AI 更准确回答问题的过程中,RAG 是一个专业术语。RAG 由检索器和生成器组成,检索器从外部知识中快速找到与问题相关的信息,生成器利用这些信息制作精确连贯的答案,适合处理需要广泛知识的任务,能提供详细准确的回答。
2024-10-01
如何利用自动对齐技术,确保16位不同地点的人员录制的同一句口号音频同步且整齐,请推荐具有此功能的音频编辑工具、网站或AI工具,以便将这16段音频精确叠加并融合成一个协调一致的整体
以下是关于利用自动对齐技术确保 16 位不同地点人员录制的同一句口号音频同步且整齐的相关信息及工具推荐: 在音频编辑中,常见的步骤如下: 1. 选择合适的数字音频工作站(DAW),如 Studio One。上传 FLAC 无损格式的音频,只对融合部分进行 Inpaint 处理,保持其他音频信息不变,以避免音质问题。 2. 在 DAW 中对接音轨后,播放试听,并缩放波形图,检查波形是否正确对齐。若出现波形未对齐或播放时有咔哒声等问题,可能是在导出和处理过程中对音频施加了额外的效果器处理,如混响、限制器、压缩等,导致音频前后不一致,影响对接效果。因此,需要确保在不同的导出和处理步骤中,音频不受到额外的处理,或者在每次处理时保持相同的效果设置。 具有此功能的音频编辑工具和网站包括: 1. Studio One:可用于对齐拼接音轨,并进行后续的叠加额外音轨、调整音量和平衡等操作,以丰富音频的层次,注意叠加后各音轨的电平,避免过载或失衡。 2. Udio:具有混音功能,可对现有剪辑进行微妙或明显的变化。在提示框中有新的区域,通过滑块控制混音效果的强度。 此外,阿里的相关研究全面概述了大语言模型自动对齐的主要技术路径,将现有的自动对齐方法分为四大类:利用模型固有偏好实现对齐、通过模仿其他模型行为实现对齐、利用其他模型反馈实现对齐、通过环境交互获得对齐信号,并探讨了自动对齐背后的机理以及实现有效自动对齐的关键因素。但此研究主要针对大语言模型,对于音频对齐的直接应用可能有限。
2024-10-17
思维链技术什么
思维链技术(Chain of Thought,简称 CoT)是让大模型能够涌现出一系列神奇能力的底层技术,在大模型的研发中备受关注。 其主要特点和作用包括: 1. 旨在通过向大语言模型展示少量样例,并解释推理过程,让模型学会在生成答案时展示推理过程,引导其得到更准确的答案。 2. 相当于将黑盒深度学习的多步推理过程的中间步骤拆开,解耦各个步骤的工作,简化每一步工作上模型的压力,在提高可解释性的同时提升模型性能。 3. 利用了大语言模型在预测 Token 序列方面的优势,将其通常隐含的推理步骤转化为明确的、指导性的序列,增强模型产生基于逻辑推理输出的能力,特别是在复杂的解决问题场景下。 4. 主要有零样本 CoT 和手动 CoT 两种变体。零样本 CoT 促使模型逐步解开问题,鼓励逐步阐明推理过程;手动 CoT 需要提供明确的、逐步的推理示例作为模板,更明确地引导模型朝向推理输出,但存在可扩展性和维护方面的挑战。 5. 作为一种促进语言模型推理的方法,具有几个吸引人的特性: 允许模型将多步骤问题分解为中间步骤,为需要更多推理步骤的问题分配额外计算。 提供了一个可解释的窗口,观察模型的行为,便于调试推理路径。 可用于数学文字问题、常识推理和符号操纵等任务,原则上适用于人类可以通过语言解决的任何任务。 通过在少量提示的例子中包含思维链序列,可容易地在现成语言模型中引出思维链推理。 CoT 提出者 Jason Wei 表示,他的灵感来源于一本叫做《Waking up》的冥想之书。
2024-10-17
AI圆桌会议,嘉宾包括通信公司内部管理人员和AI行业关注智慧城市公司技术专家,选择什么话题会比较合适和有吸引力?
以下是一些可能适合在该 AI 圆桌会议上讨论且具有吸引力的话题: 1. 通信技术在智慧城市中的创新应用与 AI 融合。 2. 如何利用 AI 提升通信网络的效率和安全性以支持智慧城市发展。 3. AI 驱动的智慧城市解决方案中的数据隐私和保护策略。 4. 通信公司与智慧城市技术公司在 AI 项目中的合作模式与挑战。 5. 基于 AI 的智慧城市交通管理和优化方案。 6. 通信基础设施对 AI 赋能的智慧城市服务质量的影响。 7. 利用 AI 预测和应对智慧城市中的通信故障和应急情况。 8. 探索 AI 在智慧城市能源管理中的潜力与通信支持。 9. 通信公司和智慧城市公司在 AI 人才培养和引进方面的经验分享。 10. 评估 AI 技术在改善智慧城市通信用户体验方面的成效。
2024-10-17
AI圆桌会议,嘉宾包括通信公司内部管理人员和AI行业外部公司技术专家,选择什么话题会比较合适和有吸引力?
以下是一些可能适合通信公司内部管理人员和 AI 行业外部公司技术专家参与的 AI 圆桌会议话题: 1. AI 在通信领域的应用与创新,包括如何提升通信网络的效率、优化用户体验等。 2. 探讨 AI 技术发展对通信行业商业模式的影响及应对策略。 3. 研究通信行业如何应对 AI 带来的安全和隐私挑战。 4. 分析 AI 如何助力通信公司实现智能化运营和管理。 5. 讨论 AI 人才在通信行业的培养与引进策略。 6. 展望未来通信与 AI 深度融合的发展趋势和前景。
2024-10-16
公司数字化转型对于客户服务增值有什么好处?如何平衡技术和个性化,人性化服务
公司数字化转型对客户服务增值的好处包括: 1. 个性化服务:利用 AI 分析客户行为数据,深入了解客户需求和偏好,为其提供定制化的产品推荐和服务,如电子商务网站根据用户购物历史和浏览习惯推荐相似产品,在线零售商利用客户购买数据推荐新产品或补充产品,从而提升客户体验和忠诚度。 2. 定制化沟通和推广:通过更具针对性的沟通和营销活动加强与客户的关系,提高忠诚度。根据客户偏好和行为数据定制营销活动,在客户支持和沟通中采用个性化方法,定期收集客户反馈并用于优化服务和产品,监控效果并不断优化推荐和营销策略。 3. 提升操作效率:Token 化在自然语言处理中应用,将大段文本分解成小块处理单元,便于管理和分析复杂文本数据,使 AI 模型快速识别关键信息,加速决策过程,提升业务响应速度。 4. 优化客户服务:Token 化使客户服务自动化成为可能,通过自动响应系统快速准确处理客户请求,极大提升客户满意度和品牌忠诚度。 5. 个性化营销:利用 Token 化分析用户行为和偏好,提供高度个性化的营销内容,增加销售转化率。 在平衡技术和个性化、人性化服务方面,可以采取以下措施: 1. 深入挖掘客户数据,同时注重保护客户隐私和数据安全。 2. 结合人工干预和监督,确保服务的人性化和温度。 3. 持续收集客户反馈,根据反馈调整技术应用和服务策略。 4. 培训员工,使其在运用技术的同时能够提供贴心的服务。
2024-10-16
有哪些免费的Ai工具可以用在信息技术学科教学中
以下是一些可用于信息技术学科教学的免费 AI 工具: 1. 讯飞智文:http://zhiwen.xfyun.cn ,可用于内容自动生成。 2. draw.io(现在称为 diagrams.net):免费的在线图表软件,支持创建逻辑视图和部署视图等。 在软件架构设计方面,以下工具可用于绘制逻辑视图、功能视图、部署视图: 1. Lucidchart:流行的在线绘图工具,支持多种图表创建。 2. Visual Paradigm:全面的 UML 工具,提供多种架构视图创建功能。 3. ArchiMate:开源建模语言,与 Archi 工具配合使用可创建逻辑视图。 4. Enterprise Architect:强大的建模、设计和生成代码工具,支持多种架构视图创建。 5. Microsoft Visio:广泛使用的图表和矢量图形应用程序,提供丰富模板。 6. draw.io(现在称为 diagrams.net):免费在线图表软件,支持多种类型图表创建。 7. PlantUML:文本到 UML 转换工具,可通过描述文本自动生成相关视图。 8. Gliffy:基于云的绘图工具,支持创建架构图。 9. Archi:免费开源工具,支持逻辑视图创建。 10. Rational Rose:IBM 的 UML 工具,支持多种视图创建。
2024-10-16