您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [中移动信息技术有限公司]:RAG在办公领域中的探索与实践 - 发现报告

RAG在办公领域中的探索与实践

2024-12-23 付一韬 中移动信息技术有限公司 心大的小鑫
报告封面

中移动信息技术有限公司/高级NLP算法工程师/付一韬 DataFunSummit#2024 分享大纲 背景介绍 大语言模型的缺点 背景介绍 RAG RAG(Retrieval Augmented Generation),即检索增强生成。它通过结合检索系统和生成模型来提高语言生成的准确性和相关性。 RAG系统的组成 RAG的优势 RAG不是单一的一个组件,是由多个组件组成的复杂系统,LLM只是其中的一个组件。 ⚫RAG的优势在于它能够在生成响应时引入外部知识,提供更符合上下文语境的回答。 RAG系统的组件包括:⚫数据源:存储了要检索的信息。 ⚫数据处理模块:负责将数据转换为适合RAG系统使用的格式。⚫检索器(Retriever):负责根据用户查询从数据源中检索相关信息。⚫排序器(Ranker):将最相关的信息呈现给LLM用于内容生成。⚫生成器(Generator):结合用户查询和相关信息,通过LLM生成最终的相应。 ⚫与预训练模型不同,RAG的内部知识可以很容易地修改甚至实时补充。 ⚫相比于微调技术,RAG具备可观测性、可解释性等优势,还可以有效降低大模型的幻觉问题 分享大纲 3RAG构建挑战与实践 RAG核心技术架构 RAG核心技术架构 RAG核心技术架构 整体思路 用户提问=>检索=>排序=>生成=>用户 ➢检索:通过文档解析、Query改写以及混合检索的方式,快速检索出一批可能相关的候选文档,以保证检索回来的相关文档——“搜的更全” ➢排序:通过粗排序、精排序和知识过滤的方式,在这些候选文档中找出最相关的文档,并将它们按相关性排序,以保证这些文档的排序——“排的更好” ➢生成:通过知识排版,再结合用户提问+Prompt模板组成提示词输入到大模型中,进而保证针对用户提问的回答——“回答的更准” RAG核心技术架构 分享大纲 RAG构建挑战及实践 RAG构建挑战及实践-“搜的更全” 整体流程 RAG构建挑战及实践-“搜的更全” 文档解析 RAG仍有两点优势是短时间内无法被替代:1.版式多样的文档数据:针对版式各异的文档数据,解析出逻辑区块并进 行问答;2.答案溯源:帮助用户快速从原文中验证答案的可靠性,从而提升整个问答系统的可信度。 基于这两点优势的发挥,都需要依赖一个强大的文档解析流程。解析文档内容是RAG系统最重要的前置工作之一。 解决方案:基于RAGFlow的DeepDoc模块进行二次开发。DeepDoc最大的特色是多样化 的文档智能处理,对多种不同格式文档的深度解析。在中国移动内部,文档数据更多是PDF和Word文档,所以我们也对这两类文档数据进行重点优化。 具体流程:1.数据解析 Word:天然的版面结构Pdf:版面元素恢复(标题/段落/图片),表格结构识别,阅读顺序还原2.数据切分 结构切分:通过版面结构进行区域切分长度切分:结合切片长度(chunk size)进行切分(用于检索的文本块)3.创建索引 分别调用文本分词和向量模型对文本块进行处理,写入索引 RAG构建挑战及实践-“搜的更全” 多轮Query改写 将多轮Query改写转换为关系抽取任务,指代消歧和信息补全看作关系,指代实体/指代词/补全信息/插入位置看作实体,采用TPLinker模型构建。 RAG构建挑战及实践-“搜的更全” 混合检索 向量检索优势 全文检索优势 ➢精确匹配 ➢相近语义理解 ➢短文本匹配 ➢多语言理解/跨语言理解 ➢倾向低频词汇的匹配 ➢多模态理解 ➢可解释强 ➢容错性强 混合检索优势 ➢更精准:混合检索可以同时利用全文检索和向量检索对数据进行查询,提高检索的准确性和可行度。 ➢更多样:混合检索可以利用向量检索的多样性,返回多种不同的检索结果,提供更多的选择和信息,满足不同的用户查询需求和偏好。➢更强大:混合检索可以利用全文检索的逻辑运算、排序、过滤等功能,实现更复杂的查询需求。➢更可解释:混合检索可以利用全文检索的文本匹配和高亮显示,实现更可解释的检索结果。 RAG构建挑战及实践-“搜的更全” 混合检索 开源向量模型对比 开源分词模型对比 •jieba和lac的分词粒度太细•texmsart分词粒度太粗•cutword分词粒度适中 采用bge-m3和bce-base-v1模型双向量模型检索,以达到检索互补的目的。 RAG构建挑战及实践 RAG构建挑战及实践-“排的更好” RAG构建挑战及实践-“排的更好” 粗排序 Reciprocal Rank Fusion(RRF) RRF(Reciprocal Rank Fusion),即倒数排序融合,是一种将具有不同相关性指标的多个结果集组合成单个结果集的方法。它不依赖于搜索引擎分配的绝对分数,而是依赖于相对排名,因此结合具有不同分数尺度或分布的结果变得实际。它用于两个或多个查询并行执行的场景。 RRF的优势:1.不利用相关得分,而仅靠排名计算,简单有效; 2.适合多路召回,通过RRF选取topn后再进行重排序,这样有助于提升重排序的效率;3.混合检索的文档进行合并去重; 《RAG-Fusion: The Next Frontier of Search Technology》 RAG构建挑战及实践-“排的更好” ColBERT:延迟交互模型(Late Interaction Model) ColBERT相比较双编码器和交叉编码器(Cross Encoder)的特点: 1.相比于Cross Encoder,ColBERT仍采用双编码器策略,离线处理文档编码,在查询时仅针对Query编码,因此处理的速度大大高于Cross Encoder;2.相比于双编码器,ColBERT输出的是多向量而非单向量,这是从Transformer的最后输出层直接获得的,而双编码器则通过一个Pooling层把多个向量转成一个向量输出,因此丢失了部分语义。3.排序计算时,ColBERT引入了延迟交互计算相似度函数,并将其命名为最大相似性(MaxSim)•计算方法如下:对于每个查询Token的向量都要与所有文档Token对应的向量进行相似度计算,并跟踪每个查询Token的最大得分。 RAG构建挑战及实践-“排的更好” 精排序 向量检索和Reranker模型之间的差异 RAG构建挑战及实践-“排的更好” RRF、Colbert和Cross Encoder这三个模型的作用都是排序,可针对自己的业务场景进行选型适配。 RAG构建挑战及实践-“排的更好” 知识过滤 对于LLM来说是Garbage in Garbage out。 为了解决检索到的无关知识问题,引入知识过滤模块,通过NLI任务来评估检索到的知识与问题的相关性,排除不相关信息,提高回答的准确性。 Prompt模板 [指令]:你的任务是解决NLI问题:给定[知识]中的前提和假设"[知识]包含可靠的答案,有助于回答[问题]"。你应该将回应分类为蕴含、矛盾或中性。 [问题]:{问题在这里。}[知识]:{待判断的知识在这里。}[格式]:{解释。}**{NLI结果。} RAG构建挑战及实践 RAG构建挑战及实践-“回答的更准” 整体流程 RAG构建挑战及实践-“回答的更准” 知识排版 问题:上下文支持有限•分片粒度选择 chunk size:128/256/512•如何避免信息丢失•如何召回上下文 第二章个人信息处理规则 第一节一般规定 用户提问:什么情况下,信息处理者可以处理个人信息? 用户提问:个人信息处理的一般规定有哪些? 解决方案:⚫分片粒度 期望:既能提供足够的文本嵌入以便有效精准的执行检索,也能够有足够的上下文提供给LLM进行推理。*评估测试不同尺寸(chunk size)下的性能与质量。 ⚫召回上下文 •离线阶段 第十四条基于个人同意处理个人信息的,该同意应当由个人在充分知情的前提下自愿、明确作出。法律、行政法规规定处理个人信息应当取得个人单独同意或者书面同意的,从其规定。个人信息的处理目的、处理方式和处理的个人信息种类发生变更的,应当重新取得个人同意。 1.文档解析:区分层级结构 2.数据入库:层级和分片信息•在线阶段 1.同层及父层上下文补全(用于生成的文本块) 第十五条基于个人同意处理个人信息的,个人有权撤回其同意。个人信息处理者应当提供便捷的撤回同意的方式。 2.汇总去重3.Prompt组装:防止“迷失在中间”(lost in the middle) 个人撤回同意,不影响撤回前基于个人同意已进行的个人信息处理活动的效力。 RAG构建挑战及实践-“回答的更准” FoRAG 存在问题•事实性不足:现有系统生成的答案中只有大约一半的陈述能够完全得到检索到的参考资料的支持,这严重影响了这些系统的可信度。 •清晰逻辑的缺失:长篇问答(Long-form Question Answering)任务中理想的答案往往需要多方面组织和整合信息,但现有的开源方法在生成答案时往往缺乏清晰的逻辑结构。 解决方案大纲增强生成器(Outline-Enhanced Generator):提出了一种新的两阶段生成技术,首先生成一个组织模式和大纲,以提高生 成答案的逻辑清晰度。 •Outline Stage(提纲阶段):在此阶段,生成器首先使用提纲模板,根据用户查询和上下文生成答案的提纲。提纲模板引导大型语言模型(LLM)考虑哪种组 织模式最适合当前问题,例如“因果关系”或“比较对比”。然后,LLM根据选定的组织模式输出提纲,为后续的扩展阶段做准备。•Expansion Stage(扩展阶段): 基于前一阶段生成的提纲,LLM扩展每个要点,构建最终答案。模型被要求在包含查询、上下文和提纲的输入下,生成对问题的 答案。 RAG构建挑战及实践-“回答的更准” ###任务### 根据资料回答问题。 FoRAG ###要求### 第一步:根据问题和资料生成回答提纲。 1.决定回答结构,从总分总、递进、对比、因果、并列、时序等结构中选择合适的来组织回答。2.根据回答结构,在提纲中要完整地列出答案中需要包括的要点。3.要点之间可以是并列、对照、递进等关系,不可以是重复或者包含关系。4.要点要保持精炼,至少有1点,不能多于5点,5.每个要点仅可参考1段资料,并在提纲中标注资料编号。第二步:根据资料和提纲对问题进行回答。1.回答要以提纲为蓝本,对问题进行详细的回答。2.回答中可以采用编号或项目列表、小标题、latex公式等格式。3.回答中减少使用“首先”、“其次”、“再者”等简单的连接词。4.回答中不要生成重复内容。5.回答中不要标注资料来源。6.回答应当严格依据资料,不采用不在资料中的内容。###格式### ###示例输出1### 【结构】: 总分总【提纲】:1.首套房商业贷款利率(仅使用[2]回答)2.二套房商业贷款利率(仅使用[2]回答)3.公积金贷款利率(仅使用[1]回答)【回答】: 西安的房贷市场在2023年呈现了一定的调整趋势,特别是在商业贷款和公积金贷款利率方面。针对不同的贷款年限,首套和二套住房的贷款利率有所不同。下面是具体的利率情况和银行对房贷利率的调整概述。###首套房商业贷款利率首套住房商业贷款利率集中在4%左右,较LPR下浮0.2%。###二套房商业贷款利率二套房商业贷款利率基本维持在4.9%左右。###公积金贷款利率公积金贷款利率5年(含)以下为2.6%,5年以上为3.1%。西安的房贷市场在2023年经历了积极的调整,尤其是首套房贷款利率的下降,为购房者带来了更为优惠的借款条件。与此同时,公积金贷款的低利率也为有资格的借款人提供了额外的经济支持。这些调整对于稳定房地产市场、支持合理住房需求有着重要的作用。###示例输出2### 【结构】:<回答的组织结构> 【提纲】: <分点介绍回答思路>【回答】: