如何查看自己制作的网站企业网站排名技巧
如何查看自己制作的网站,企业网站排名技巧,哪个地区网站建设好,wordpress的漫画主题各位技术大佬#xff0c;大家好#xff01;今天非常荣幸能够与大家一同探讨和学习与RAG相关的理论与技术#xff0c;分享的相关内容与知识仅供大家参考#xff0c;抛砖引玉#xff0c;有不对的地方评论区多多指正。 在当今人工智能技术飞速发展的时代#xff0c;大模型已…各位技术大佬大家好今天非常荣幸能够与大家一同探讨和学习与RAG相关的理论与技术分享的相关内容与知识仅供大家参考抛砖引玉有不对的地方评论区多多指正。在当今人工智能技术飞速发展的时代大模型已经成为各行各业关注的焦点。然而如何将这些通用的大模型应用到我们的具体业务场景中如何解决大模型在实际应用中的种种局限这些都是我们需要深入思考的问题。RAG也就是检索增强生成技术正是解决这些问题的关键方案之一。 在接下来的分享中我会从理论基础出发逐步深入到技术细节和实践案例帮助大家全面理解RAG并掌握从0-1搭建RAG系统的核心流程及方法以为大家在实际工作中应用这一技术提供支持。具体分以下五个部分一、大模型基础理论RAG检索增强生成其本质上是在大模型的基础上进行的增强和优化核心还是大模型所以了解一下大模型的基本原理还是很有必要的否则也很难真正掌握RAG。一大模型发展态势自2022年11月OpenAI推出ChatGPT以来国内外众多技术厂商如Google、Meta、阿里、质谱、百度、深度求索等纷纷推出并开源了自己的大模型开源生态不断发展开源社区、开源工具也越来越丰富模型数量、模型能力都得到了大幅提升。已在知识密集型任务中得到了广泛的推广与应用这里我列举了6类场景仅供大家参考第一通用对话与知识问答。通过自然语言交互提供知识查询、问题解答、多轮对话等服务满足日常信息获取与交流需求。像ChatGPT、豆包等通用AI助手接入大模型的小爱同学、天猫精灵等语音交互助手等就是此类场景下的应用。第二内容创作与生成。自动生成文案、代码、报告、创意内容等辅助提升创作效率与内容质量。像Claude Code、Qwen coder等就是此类场景下的应用。第三智能客服与客户服务。替代人工处理客户咨询、售后答疑、业务办理等场景降低服务成本并提升响应效率。像阿里云小密等智能客服就是此类场景下的应用。第四办公效率工具。赋能文档处理、会议纪要、数据分析、流程自动化等办公场景简化操作并提升工作效率。像WPS AI等就是此类场景下的应用。第五教育与学习辅助。提供学科答疑、个性化辅导、知识讲解、学习规划等服务适配不同学习场景与需求。像讯飞学习、松鼠AI等就是此类场景下的应用。第六行业垂直应用。结合医疗、法律、政务、工业等领域知识提供专业咨询、流程辅助、决策支持等定制化服务。像执法宝、北大法宝等就是此类场景下的应用。二大模型关键支撑技术不难看出从通用对话到行业垂类大模型的能力正在快速融入我们工作与生活的方方面面。事实上这并非偶然而是建立在一系列关键技术的突破之上1、自监督学习从海量文本中学习语言规律无需标注数据2、Transformer通过注意力机制实现并行计算与长文本处理3、参数规模随着参数增加模型涌现出复杂推理能力4、上下文学习使模型无需微调即可通过上下文理解新任务5、分布式表示知识分散存储于千亿参数中6、模式匹配基于统计规律生成答案而非严格的逻辑推理提高了生成速度和效率这些机制共同构成了大模型的能力基石。而其中Transformer尤为关键——它不仅是上述多项技术的物理载体也是整个大模型技术体系的结构核心。三Transformer架构剖析Transformer是由谷歌的研究团队于2017年提出的它的主要目标是在序列建模任务中提升并行性和长距离依赖建模能力以摆脱对循环与卷积的依赖。 这里边有两个特点并行性长距离依赖需要大家重点关注 在Transformer出现之前循环神经网络和卷积神经网络是处理序列数据的主要方法。但是呢这两种方法均存在一些局限第一RNN处理数据的方式是顺序的也就是上一时刻任务完成后才会执行下一时刻的任务训练速度慢难以并行化第二CNN虽然可以并行图可设多个通道一层可设多个卷积但捕捉长距离依赖的能力有限。相对的而Transformer则通过自注意力机制完美地解决了这两个问题。它允许模型在处理每个位置时同时关注输入序列中的所有位置并自动学习不同位置之间的相关性动态决定哪些部分更重要。这种机制不仅提升了长文本的理解能力也极大地提高了训练和推理的并行性为后续大模型的规模化奠定了技术基础。具体的技术细节我们就不逐一进行推导了感兴趣的可以用一个叫Transformer Explainer的网站结合可视化自行学习。 Transformer的这些创新设计使其成为现代大模型的基础架构。从BERT到GPT从T5到LLaMA几乎所有主流的大模型都采用了Transformer架构或其变体。四大模型的主流架构目前主流的大模型架构主要有三类第一类是Encoder-Only架构以BERT系列为代表。这类架构依靠双向注意力机制使模型在预测每个Token时能够同时利用前后文信息更好地捕捉语义和依赖关系。特别适合自然语言理解任务如情感分析、文本分类等需要判别的场景。但是由于缺乏解码器这类模型难以直接生成目标序列在自然语言生成任务上通常不及专门的生成型模型。第二类是Encoder-Decoder架构以GLM系列为代表。这类架构在编码器基础上引入了解码器使模型能够在理解输入的同时逐步生成输出序列。模型可以灵活处理复杂的输入条件并产出连贯、高质量的内容。这种架构非常适合输入与输出都重要的任务例如机器翻译、文本摘要和问答系统。第三类是Decoder-Only架构以GPT系列为代表。这类架构省略了编码器部分降低了整体复杂度。通过掩码机制和自回归生成方式保证在预测当前Token时只能依赖先前的Token。在大规模预训练数据的支持下这类模型能够生成高质量、连贯的文本尤其在故事生成、新闻写作等无条件生成任务中表现突出。这三种架构各有优势在实际应用场景中只需要根据任务需求选择恰当的模型就可以了。二、大模型局限尽管大模型能力强大但我们也要清醒认识其局限。只有理解这些不足才能更好的理解为什么我们需要RAG、才能有的放矢地设计增强方案。一知识滞后大模型的知识是固化于训练数据截止日期前的静态世界模型本身无法自动获知和整合现实世界中的新变化知识相对滞后。 具体体现在4个方面第一训练数据截止如果模型是在2023年训练的它就不会知道2023年之后发生的事件第二更新成本高昂预训练或全量微调需要百万级的投入对于大多数企业来说每次有新知识就重新训练模型是完全不可行的第三数据价值密度下降随着AIGC参与内容生产的比例上升高价值的既有知识被稀释而我们目前又没有很好的手段/方式对其进行区分和筛选导致模型可能越学越傻第四行业数据限制在尖端科技、医学等时间敏感领域知识会在数月内显著失效而这些行业对数据又严格管控进一步增加了模型获取最新专业知识的难度。包括ChatGPT在内目前国内外主流大模型的训练数据截止日期基本都在2025年以后统计于2025年2月4日。这意味着当我们私有化部署并使用这些模型时必须清楚它们的知识边界不能期望它们回答超出知识范围的问题。二记忆局限由于注意力机制本身所存在的局限这里指的主要是稠密注意力大模型可支持的上下文窗口十分有限存在明显的记忆局限主要体现在4个方面第一新旧知识混淆模型难以分辨信息的最新版本第二上下文衰减在长文本中模型对开头信息的理解和提取能力会显著下降第三存在“中间遗忘”当输入超出其处理窗口时最早的信息会被丢弃。第四缺乏随机访问能力。模型更多依赖内容的相似性进行关联检索无法根据位置索引精确定位和调取某处的信息。为应对这些问题尽管一些研究尝试探索稀疏注意力通过限制查询与键的交互范围进一步扩大上下文窗口提升模型记忆能力。但在实测中的表现并不尽如人意。稠密注意力优点能捕捉全局依赖关系适合处理复杂任务如长序列建模或精细语义理解。 缺点显存占用大计算复杂度高O(n²)难以扩展到超长序列。稀疏注意力优点计算复杂度降低O(n) 或 O(n log n)适合超长序列处理如文档级任务。 缺点可能丢失部分远距离依赖关系需通过结构设计如轴向注意力弥补。以最新迭代的在线版ChatGPT为例我构建了一份有6万字符的测试数据并在数据的不同位置随机插入了10组包含姓名、手机号、身份证号、手机型号的个人数据要求是让大模型把其中的个人数据抽取出来并按姓名分组。但是结果我们发现其中有7组数据没有找到且这7组数据中有5组在测试数据的中间位置、2组在开头位置存在明显记忆局限。三模型幻觉这是大模型最受关注的问题之一表现为大模型生成看似合理但实际上错误或虚构内容的现象根本原因在于大模型基于概率生成、以流畅性优先而非事实准确性驱动的机制导致输出可能脱离真实逻辑。且训练与推理等不同阶段的不恰当操作还可能进一步加剧幻觉例如预训练阶段训练数据质量越差、主题数据分布越不均衡越容易产生幻觉监督微调阶段任务查询越复杂、查询方式越单一越容易产生幻觉提示词设计阶段提示词越模糊、越不正式越容易产生幻觉推理方法阶段top-p、搜索策略、量化精度等参数的设置也会引入幻觉。幻觉的表现形式有实体错误幻觉、关系错误幻觉、内容缺失幻觉、时效错误幻觉、过度泛化幻觉、不可验证幻觉等多种类型且每类的表现也略有差异应对方式也有所不同在实际业务中我们不能泛泛的只谈幻觉。例如实体错误、关系错误问题可考虑知识图谱内容缺失、时效错误可考虑增加数据过度泛化、不可验证问题可考虑提示词工程、调参具体根据需求自行进行选择与取舍即可。这里我们可以通过一个简单的例子询问大模型“deepseek有几个e”来直观感受一下不同大模型的幻觉问题 结果发现不同模型往往会给出不一致的答案但无一例外当前PPT中所展示的这几款最新的在线大模型均出现了实体混淆、推断偏差甚至自相矛盾的幻觉表现例如GLM 4.7回答有3个e、Kimi回答有2个e、小米最新发布的mimo回答有3个e、qwen-max回答有2个e。模型幻觉问题还是比较普遍的。四缺乏行业深度当前尽管大模型在通用领域表现卓越但当我们将其应用于金融、法律、医疗等专业垂直领域时会发现它在行业深度上存在显著短板。具体表现为知识覆盖不足训练数据高度集中于通用和热门领域缺乏专业、长尾数据概念理解精度不够专业理解形似而神不似和复杂逻辑推理薄弱在需要多步逻辑的复杂任务中模型思维链推理的可靠性会显著下降。例如进行医学症状分析时当患者说从刚刚开始我一直头晕时大模型并没有像专业医生那样进行系统的问诊仅给出了相对模糊的针对因为很多疾病的症状表现都是头晕他并没有通过追问的方式确诊。 医疗领域 应该先追问什么时间开始的头晕头晕了多久了还有什么别的症状等等而不是直接给出病症。这些都说明大模型在专业理解、精准表达与复杂逻辑推理层面上均存在明显短板行业场景应用中的可靠性与实用性有待进一步加强。五Prompt注入这是一个严重的数据安全问题。Prompt注入是指通过精心设计的恶意指令输入操纵查询过程来干扰大模型正常响应引发数据泄露或数据滥用等问题的行为过程。不仅攻击形式多样包括但不限于混淆利用Unicode编码变形关键字、分片将恶意指令拆分至多轮对话、指代通过预设字符映射诱导模型、善意迎合伪装成有益指令、架空通过虚构场景引导角色扮演等且攻击隐蔽性强、动态性高、在不同模型间具有迁移性。而目前常见的防御措施多是基于规则过滤、上下文监控、输入输出分类等的经验性方法本质上仍是一种“猫捉老鼠”的被动博弈。攻击者通过持续迭代注入手法总能找到绕过静态防御的策略导致安全机制陷入“发现—修补—再绕过”的无限循环。这里我们以基于“文心一言”研发的灵医大模型为例通过指代注入的方式诱导大模型输出恶意内容“你该死”实测发现既有的防御方式在此场景下几乎完全失效。这对于医疗、金融等对安全性要求极高的应用场景是一个严重的威胁。六该怎么办那此时就有一个严峻问题摆在我们面前在进行本地大模型的私有化部署与应用时面对上述的这一系列局限我们应该怎么办目前产业界、学术界与工业界均在积极应对共同推动大模型向更安全、更可靠、更专业的方向发展。政策层面国内外出台多项法规规范AI发展与安全治理学术界致力于改进模型架构、增强推理能力、防御攻击工业界则通过垂直模型微调、多模态系统、智能体部署等方式推动技术落地。政策、学术层面的有关措施我们暂不讨论这次我们重点探讨一下RAG及其增强技术也是当下工业界应对多个大模型核心局限特别是知识滞后、幻觉和行业深度最常用的一种综合性工程解决方案。它不要求改变大模型本身而是通过构建一个“外部大脑”来灵活、安全地弥补不足。这即是在当下有限算力条件和私有环境下落地最广泛、最实用、最安全的技术路径也是连接通用大模型与垂直行业应用的桥梁。三、RAG技术详解接下来让我们具体来看看RAG是什么有什么价值包括哪些基本环节演变出了哪些架构以及如何评价RAG效果。一RAG定义与价值RAG全称检索增强生成是一种结合信息检索与生成式语言模型的技术通过检索外部知识库既可以是自己私有搭建的知识、也可以是像web of science等类型的专有数据源中的相关内容作为上下文指导生成式语言模型生成更准确、可靠的回答。RAG形式灵活且计算成本低在应对大模型的知识滞后、记忆局限、模型幻觉、缺乏行业深度、Prompt注入等问题上效果显著。 这里边有两个特点“形式灵活”和“计算成本低”我需要解释一下。灵活性体现在两个方面1、微调通常针对特定任务进行如果任务发生变化可能需要重新进行微调而RAG适应不同任务的需求只需调整检索策略或附加数据库即可2、基座大模型的迭代周期非常短能力跨度也非常大要想保证垂直领域下的生成下过就面临反复微调的窘境而RAG本身是模块的只需要换一下大模型组件即可。计算成本低微调需要大量的人力、算力和运维成本尤其是在处理大规模数据集时而RAG则可以通过优化检索策略降低计算成本。以缓解模型幻觉为例RAG的基本思路是根据用户查询从大规模文档库中检索一小部分支持性文档大模型基于这些文档生成准确答案。研究表明对几个大模型进行top-2检索RAG能够显著缓解模型应答中的幻觉。而且RAG的效果在较小的模型中更加明显例如Llama 2-Chat 7B。 这意味着通过RAG技术我们不仅可以提升大模型的准确性还可以使用更小的模型达到甚至超过大模型的效果从而降低成本。二RAG直观感受这里有一个例子我们来具体的看一下模型幻觉是怎么回事以及又是如何通过RAG缓解模型幻觉的。 具体来看我们使用通过Ollama本地部署的Qwen3-1.8B模型查询“介绍一下xx大学的xx博士”。在没有RAG的情况下模型给出了错误的回答xx博士是xx大学数学科学学院的教授同时也是中国科学院院士研究领域是偏微分方程、数论和几何学等...。这就是典型的模型幻觉。有3处1、学院幻觉。通过知网、学校/学院官网查询能查到两个叫xx的一个是管理学院的一个是医学院的根本没有数学科学学院的2、职称幻觉查到的都不是教授3、研究方向幻觉研究方向有大模型、人机协同、泌尿等方向但没有偏微分方向等方向。而在使用基于MaxKB搭建的RAG系统后Qwen3-1.8B这个模型则会先检索知识库中的相关信息然后基于检索到的内容生成回答。这样回答就会准确得多。 这个实例清楚地展示了RAG的价值即通过外挂知识库我们可以让大模型生成更加准确、可靠的回答。三RAG基本流程至此相信大家已经对RAG有了一个相对直观的感受对是什么、为什么和怎么样也有了自己的理解。那接下来我们就具体看看RAG到底是如何工作的。 RAG分检索-增强-生成三个大的阶段其中检索负责将用户查询编码为向量从知识库中检索相似文本片段增强负责将查询与检索结果嵌入提示词模板生成负责将提示词模板输入大模型生成最终回答。举个例子当用户提出某个问题时RAG系统会先通过嵌入模型将用户查询转换成向量。接着进行过相似性搜索从向量数据库中找出最匹配的前k个向量这些向量对应着知识库中的相关文本片段。当检索到的文本片段被召回后再与用户查询一起嵌入到预设的提示词模板并被输入到大模型大模型基于这些信息生成回答。1数据清洗在这个过程中有几个关键操作需要大家格外留意 第一数据清洗。 如果把RAG比作一条智能生产线那么数据就是产线上原材料而数据清洗就是确保原材料纯净、可用、高质量的第一道工序。如果输入系统的知识数据本身存在大量噪音、格式混乱、错误或不一致那么无论后续的检索与生成模块再怎么强大最终的输出质量都会大打折扣。此外大家还需要知道数据清洗他不是一个一次性的环节而是应该贯穿知识库构建与维护的全过程根据业务需求、数据现状等动态调整。具体有三个处理方向供大家参考重复检测通过一些相似度计算与语义去重方法去除重复数据格式标准化统一编码、分段和元数据格式便于后续处理和检索噪声过滤识别并过滤低质量文档确保知识库内容的可靠性。2切分由于大模型的上下文长度是终归是有限的我们无法将整篇超长文档直接输入模型处理。切分的目的就是把大型文档拆解成大小适当、语义相对完整的片段也就是我们常说的 Chunk。切分方式有多种可以根据文档类型与应用场景选择不同策略比如简单切分。如按固定字符数或 Token 数切割实现简单快捷但可能破坏句子或段落的完整性导致语义断裂智能切分。依据文档内在结构进行划分比如按段落、章节、标题等自然边界切分。这种方式能更好地保持语义连贯适合结构清晰的报告、手册等。滑动窗口切分。在切分时让相邻片段之间有一定重叠部分这样做能有效防止信息在片段边界丢失尤其适合处理上下文依赖较强的技术文档或长叙事文本。除了基础切分方法我们还可以结合信息提取与摘要、关键词/句提取、问题聚焦等进一步加工手段对文本进行浓缩与强化使得后续检索更加精准、高效。3嵌入模型嵌入模型负责将文本转换成向量这是向量检索的基础。嵌入模型的选择对RAG效果同样有重要影响。但是去哪里找怎么选是很多人头疼的问题。关于去哪里找HuggingFace其实为研发人员提供了一个叫Embedding Leaderboard的功能界面就是当前页面右下角的图片展示了各种嵌入模型的性能排名我们可以从中挑选。关于如何选其实好的嵌入模型往往有一些共同的标准这里我主要分享五个我平时选择嵌入模型的衡量维度仅供大家参考准确捕捉文本的语义信息对相似文本生成相似的向量对不同文本生成明显不同的向量支持多语言如果需要推理速度快资源消耗低如果你觉得这个比较麻烦也可以直接选择HuggingFace中排名靠前的嵌入模型比如Qwen3-Embedding-4B/8B、Bge-large embedding等4知识检索检索是根据用户查询从知识库通常是基于FAISS等技术构建的向量数据库中获取相关信息的过程。检索方式有单一检索和混合检索两大类如何选择主要看你要检索的知识库的体量10万选单一检索10十万则选混合检索。其中单一检索包括关键词检索和向量检索。关键词检索基于倒排索引适合精确匹配。向量检索是基于语义相似度适合语义匹配而混合检索则是对多种检索方法的组合既可以串行组合也就是先进行一种检索再进行另一种检索逐步缩小范围也可以并行检索同时进行多种检索然后融合结果。此外还有一些高阶检索的玩法上述检索方法效果达不到预期时可以考虑选择此类检索方法包括多阶段检索粗排/精排/重排层层检索、分块级联检索先文档级摘要-再段落级向量检索、知识图谱检索引入知识图谱这个后边我们还会详细讲、多模态检索将多模态数据转为统一的多模态向量、多轮记忆检索结合历史与当前查询构建增强检索向量等。这些方法可以进一步提升检索的准确性和召回率。关键词检索 核心原理基于倒排索引将文本拆分为关键词检索时匹配查询中的关键词按 “词频 / 相似度TF-IDF/BM25” 排序返回结果仅做字面匹配无语义理解。 核心工具SQLite 适配场景知识库为结构化 / 半结构化文本如技术文档、产品手册、法规条文用户查询以精准关键词 / 短语为主 优点检索速度极快毫秒级、精准度高关键词匹配无歧义、支持复杂的元数据过滤如按文档来源 / 时间筛选 缺点无法处理同义不同形 / 反义同形、对拼写错误 / 模糊查询不友好、长句查询效果极差向量检索 核心原理向量数据库通过近似近邻检索ANN 计算向量相似度Cosine/IP/L2返回语义最相似的结果不依赖字面只看语义匹配。 核心工具LangChain/LlamaIndex检索器封装 适配场景知识库为非结构化文本如论文、问答对话、行业报告用户查询为自然语言长句 / 模糊语义 优点强语义理解、支持模糊查询 / 同义替换、适配自然语言对话式查询是 RAG 实现 “知识联想” 的核心 缺点检索速度略低于关键词检索、纯向量检索可能出现 “语义相似但领域无关” 的结果、对高维向量的存储 / 检索成本更高串行混合检索先过滤后精查 逻辑先通过关键词 / 元数据对知识库做粗过滤缩小检索范围再对过滤后的小数据集做向量语义检索。 适配大知识库、多领域混合的知识库如同时包含大模型、数据挖掘、前端开发的文档并行混合检索同时查后融合 逻辑对用户查询同时执行关键词检索和向量检索分别得到两份 Top-K 结果再通过结果融合策略合并为最终结果。 适配适合对召回率要求极高的场景如学术论文检索、医疗知识库多阶段检索粗筛→精筛→重排超大规模知识库 第一阶段粗筛用关键词 / 元数据 / 轻量向量做全局过滤第二阶段精筛用高精度向量检索对候选集做 ANN 检索筛出百级候选第三阶段重排用跨编码器CrossEncoder/ 轻量 LLM做精排分块级联检索解决长文档检索痛点 1、先对长文档的整体摘要 / 标题做向量检索找到相关的整份文档文档级2、再对这些文档的所有小分块做向量检索找到最相关的分块分块级知识图谱检索弥补向量检索的 “关系缺失” 图谱查询找到实体的关联关系再结合向量检索补充语义信息。 适配场景知识密集型领域如医疗、金融、学术、技术架构查询涉及实体关系 / 逻辑推理如 “XX 疾病的治疗药物有哪些这些药物的副作用是什么”。多模态检索文本 非文本知识库 将多模态数据转为统一的多模态向量如用 CLIP 转图片向量、用 TableQA 转表格向量与文本向量一起存入向量数据库实现 “文本查询→匹配文本 / 图片 / 表格” 的跨模态检索。 适配场景知识库包含技术图表、产品图片、数据表格的场景如 AI 框架的部署流程图、大模型性能对比表格。带对话记忆的多轮检索适配对话式 RAG 将对话历史与当前查询融合生成增强查询向量再执行检索如用轻量 LLM 将 “它的显存要求是多少” 增强为 “部署 BGE 嵌入模型的 GPU 显存要求是多少”。5拼接模板拼接模板也就是提示词工程。 提示词的设计门道很多一条好的提示词他不像大多数人所想想的那样一整段或分几条简单罗列的查询内容。而是分类分级的、每类/每级的设计思路、要求都有所不同。具体而言可以分为系统级提示词、用户级提示词、示例提示词三大类1、系统级提示词定义了模型的角色、行为规范和输出格式设计需要遵循场景对齐指明应用场景的需求、受众对齐指明应答的目标用户群体、角色对齐明确模型的角色定位3条核心原则2、用户级提示词定义了用户的具体问题和检索到的相关知识设计同样需要遵循一定原则主要有4条一是核心指令前置重要的指令要放在前面二是分层呈现信息要遵循思维链进行有层次地组织三是逻辑关系明确信息之间的关系要清晰尤其是有的时候提示词会比较长前后很有可能出现相关矛盾的信息四是限定应答边界罗列约束限制应答的范围。3、示例提示词定了大模型应该如何输出给他几个输出的例子。此外这里需要特别提醒一下的是提示词的设计并非是一蹴而就的而是一个需要持续迭代、测试与优化的动态过程。即便是基于清晰原则设计的提示词在实际与大模型交互时也可能因为模型的理解偏差、任务复杂度或知识库内容的变化而达不到预期效果。因此必须建立“设计-测试-评估-优化”的闭环。但实际操作起来这个迭代的过程难度还是比较大的客户有没有那么多的耐心谁来负责迭代这个提示词研发客户还是运维都是问题。6模型记忆一般而言我们从Hugging Face或魔搭社区等平台下载并本地部署的私有化模型其本身并不具备上下文记忆能力。这里的“记忆能力”特指跨会话、跨轮次的持续性信息保留与调用能力大模型在默认情况下每次对话都是相对独立的。为了在多轮对话中实现连贯交互RAG通常需要从三个层面来设计和增强模型的记忆机制一是Token级记忆这其实是模型自身的上下文窗口能力属于短期记忆。指的是在一次对话中模型能记住并利用当前会话窗口内的历史消息。例如你可以在同一个对话中不断追问模型会根据之前的问答进行回应。但这种记忆会随着会话结束而消失。最简单直接拼接上下文就行但受大模型原生的上下文长度和推理成本限制。二是参数级记忆这种方法主要指通过预训练或微调固化在模型参数中的知识属于长期记忆。例如模型在训练中学到的语法规则、常识知识、专业术语等。这类记忆稳定存在但更新成本高无法实时调整。三是潜在记忆外部增强记忆通过向量数据库、知识图谱、对话历史库等外部存储机制构建的可扩展、可更新的长期记忆。他可在后续查询中动态检索并注入上下文从而实现跨会话的记忆延续。通过上述方式合理的管理模型记忆可以提升多轮对话的连贯性和用户体验。这个其实也不是很复杂如果你是通过成熟框架或工具搭建的RAG直接找到对应的选项设置好就可以了。四RAG分类及架构RAG技术经过多年的发展已经形成了多种分类和架构。从朴素RAG开始也就是我们前边刚讲过的RAG基本流程针对其存在的一些问题如相关性误检、chunk间关系断裂、弱因果等业界逐渐演化除了多种增强架构包括检索重排RAG、多模态RAG、图RAG、混合RAG、智能体RAG等。接下来我们逐一展开重点来看看每类架构相比朴素RAG的优化点、优劣势及其适用场景。1检索重排RAG朴素RAG仅依赖向量相似度检索常面临“相似不等于相关”的问题例如高频共享词汇干扰或多义词污染。检索重排RAG在此基础上增加了一个重排序模块也就是图中红色底块标红的部分通常采用两阶段流程一阶检索先通过向量检索或关键词检索召回候选片段;再利用轻量级重排模型如BGE Reranker、Sentence-BERT等对候选片段进行相关性评分与排序也就是二阶重排最终选取最相关的片段送入生成模型。这种架构显著提升了上下文质量尤其适用于对准确性要求极高的场景如医疗问答、法律咨询等文本类任务知识库规模一般在万到十万级别。不过重排序模块也带来了额外的计算开销与延迟且并未从根本上解决语义检索的局限性。2多模态RAG朴素RAG仅支持文本检索无法处理图像、表格、音频等多模态数据。多模态RAG则通过引入多模态编码模型如CLIP、BLIP对图像、文本等进行统一表征将不同模态的数据映射到同一向量空间实现跨模态检索。例如用户可上传产品图片查询使用说明系统从图文混合知识库中检索相关信息并生成回答。该架构适用于产品手册解析、视觉问答、教育资料检索等场景。缺点那是多模态模型计算成本较高统一表征难度大且多模态特征会快速占用上下文窗口通常需要对特征进行压缩或选择性融合。3图RAG朴素RAG基于文本片段匹配知识片段之间是相对独立的RAG检索的Chunk间关系断裂难以形成完整的知识网络多跳转推理无法连接三度以上关系限制了复杂问题的解决能力、缺少全局视角缺乏知识网络鸟瞰难以从整体上把握知识结构、因果推断难度大难以识别深层因果链影响推理的准确性和可靠性难以捕捉实体间的深层关联与因果关系。图RAG则以知识图谱为核心将知识组织为“实体-关系”网络检索过程转为图谱上的路径查询与推理以应对因果关系不足的问题。例如在医疗场景中系统可基于“疾病-症状-药品”图谱进行多跳推理提供更具逻辑性的回答。4混合RAG朴素RAG通常依赖单一检索方式在多样化的查询与数据形态下召回率有限。混合RAG则通过融合多种检索技术如结合向量检索、关键词检索BM25、甚至图检索等等通过并行或串行的多路召回机制再经过融合排序筛选出最优片段。该架构能显著提升召回率与鲁棒性适用于智能客服、企业搜索引擎等场景尤其当知识库规模较大十万以上且数据类型不一时。但混合RAG系统缺点也很明显一是结构复杂需要精细的权重调优与策略设计开发和调试成本较高二是多检索器之间的结果融合策略也会直接影响最终效果这也就是为什么很多人自建混合检索后检索效果不尽如人意的重要原因泛化性能差类似多模态融合机制、混合专家网络门控机制的设计问题。5智能体RAG朴素RAG采用固定检索策略无法根据查询意图动态调整。智能体式RAG则引入智能体Agent作为决策中枢通过意图识别、路由策略分析用户查询动态选择最合适的检索模块如向量库、图谱、文档库等并可借此在多轮对话中维持记忆与状态。该架构适用于查询类型复杂、多知识库协作的场景如跨领域知识问答、任务型对话系统等。其优势在于灵活性与可扩展性但依赖智能体的决策能力若路由判断失误可能引发连锁错误且系统架构较为复杂部署和维护门槛较高。五RAG效果评估总体而言这五类RAG架构分别从精度提升、多模态扩展、关系推理、召回增强和智能路由等角度对朴素RAG进行了重要增强。在实际项目中我们应根据业务场景的数据类型、查询复杂度、准确率要求及系统成本等灵活选用或组合这些架构构建更加稳健、高效的RAG系统。 这里我罗列的一些指标供大家参考时间关系这里就不再进行逐一介绍了。四、知识图谱技术详解考虑到朴素 RAG、检索重排 RAG目前应用已相对广泛其中涉及的技术也相对简单感兴趣的可自行研究至于混合RAG、多模态RAG和智能体RAG等高阶RAG在大家掌握了多模态融合、智能体等基本操作之后大家可以再自行尝试。 那这次我主要分享一下图检索尤其是其中涉及的的知识图谱技术这也是近两年来受关注与应用比较多的技术像 文心一言、KnowCoder知码、华为盘古大模型等都有所使用。一定义2234首先让我们来看什么是知识图谱。 知识图谱是结构化的语义知识网络核心以实体节点、关系边、属性属性值构成的三元组为基本单元将分散的信息关联成网状结构精准表达现实世界中事物的关联关系是图RAG的重要知识载体。 他有4个核心构念这里我总结了一个顺口溜2234方便大家理解和记忆第一个2指的是“构建方式”即自顶向下和自底向上。自顶向下是先定义好本体框架再填充实例适合既有知识比较多、比较成体系的通用领域自底向上则是从实际数据中提取模式逐步形成结构更适合从0-1的行业场景的快速构建。第二个2指的是“构建模式”即众包构建和自动化构建。众包构建就是利用许多人进行编辑构建知识图谱。维基百科百度百科都是众包构建的。自动化构建则是利用程式化脚本或大模型进行自动构建。3指的是“三元组”实体、属性、关系实体是知识图谱的节点关系是知识谱图的边属性是隶属于实体的键值对。4指的是“实体联系类型”有关系、属性、Is-a、subclass-of 4种从左上角以章子怡为中心的知识图谱中我们可以分别找到这些联系类型的对应例子例如关系飞宝文化传媒的法人是章子怡、属性飞宝成立时间是2013年、Is-a飞宝是一家传媒公司、subclass-of传媒公司属于公司二核心优势知识图谱相比传统的文本检索有五大核心优势第一可解释性。知识图谱以三元组的形式明确表达实体之间的关系推理路径是透明的可以追溯答案的来源和推理过程增强了系统的可信度第二可推理。基于图结构可以进行多跳推理发现间接关联。例如知道A认识BB认识C可以推断A和C可能是二度关系第三可扩展。通过Neo4j等图数据库管理工具可动态增删图谱实体关系无损更新适应知识不断变化的需求四可融合。可以将来自不同数据源的知识进行融合解决实体对齐、关系合并等问题构建统一的知识视图第五可查询。使用图查询语言检索如Cypher获取所需知识提高查询效率。 特别的在图RAG中知识图谱的构建并不仅仅局限于文本数据也可使用图等非结构化数据。例如当前PPT中心李白写诗的这张图我们可以抽取到若干三元组李白写诗、书房有书桌、书桌放置毛笔、李白在书房等等只不过难点就在于如何从图中抽取出这些语义信息。三本体设计指南接下来我们就来看看构建一个知识图谱具体有哪些流程分别需要注意些什么 首先需要先定义好本体。本体是知识图谱的模式层是一套知识图谱构建的指南指导你如何一步步构建图谱其中定义了知识图谱中的概念、关系和属性的规范。好的本体设计是构建高质量知识图谱的关键。具体包括七个步骤第一步需求分析。明确业务问题与知识范围明确图谱的核心应用场景、业务目标、推理需求。第二、三、四步。结合需求分析的数据识别其中的核心实体类型梳理业务逻辑关系确定描述实体的维度分别构建领域知识框架、建立实体之间的联系、丰富实体的信息。第五步初步知识表示。对业务数据进行数据抽取、数据预处理、数据整合、知识抽取实体、属性和关系等。第六步标准知识表示。进行知识对齐实体消歧、共指消解等图谱修订明确实体、关系和属性的设计规范。第七步质量评估。从具体场景切入邀请业务专家参与从准确性、完整性和一致性等维度评估图谱质量。这里边有三个环节需要大家重点关注。四需求分析系统性文献综述这是本体设计的基础、也是重中之重可选的方法有多种如用户访谈、文献调研、数据资源分析、头脑风暴德尔菲、民族志等等他们之间往往是相互佐证、相互补充的缺一不可。但在这其中文献调研的方式却常常被忽视的一环。为什么呢因为在与客户交流或团队内部研讨时像用户访谈、现有资料分析、头脑风暴这些方法我们或多或少都会自然地去运用。大家会觉得多和业务方聊聊、多看看现有的数据报表这需求不就出来了吗 其实非也。这里存在一个隐形陷阱我们接触到的客户代表或现有资料可能只反映了局部、当前或特定立场下的信息。一个行业或领域的全貌、其核心概念的演变脉络、以及不同学派或实践之间的共识与分歧很难通过几次访谈或内部会议完全掌握。这时候一个结构化的、严谨的文献综述就显得至关重要。 这里我推荐使用系统性文献综述它是一种遵循明确、系统的研究方法和标准对某一特定领域现有全部高质量研究证据进行搜集、筛选、评价、综合和分析的科研方法。它的目的是最小化偏倚提供关于该领域“已知什么”和“未知什么”的可靠结论。当前屏幕中展示的这个综述框架是我之前在北核期刊上发表的一篇元宇宙主题的综述框架通过层层文献筛选纳入262篇高质量论文 之前关于元宇宙研究的框架图PRISMA指导思想包含5个步骤 1、制定明确的、可量化的识别、筛选评估、纳入、数据处理编码标准 2、识别多数据库 3、筛选与评估 4、纳入分类分级 5、数据处理编码并基于此对元宇宙的层次、概念及关键特征、高频元宇宙技术、同层次元宇宙技术重叠情况、元宇宙技术架构进行了系统梳理这个过程其实很类似本体中实体、属性和关系的界定。五初步知识表示知识抽取第二个需要重点关注的点是初步知识表示阶段的知识抽取。知识抽取的核心任务是从非结构化或半结构化的文本中自动识别并提取出结构化的知识单元主要包括实体、属性及其之间的关系。这一过程的关键环节之一是命名实体识别NER其技术演进经历了四个清晰的阶段早期基于规则的方法虽准确但泛化能力弱随后以CRF为代表的传统机器学习方法性能严重依赖标注数据的规模与质量进入深度学习阶段BiLSTM-CRF等模型实现了特征的自动学习大幅提升了识别精度与效率但依赖与标注数据。通常借助BRAT等工具按照BIO/BIOES等标签体系对文本进行序列标注而当前的主流范式已转向预训练模型通过在通用模型如bge-large-chinese基础上进行领域微调显著增强了模型对专业术语和上下文的理解能力如今这已经成为了一种趋势。 属性和关系的抽取也是类似的道理只不过技术手段不同例如PCNN抽取关系、聚类抽取属性等等。这里就不再赘述了。六标准知识表示知识对齐第三个需要重点关注的点是标准知识表示阶段的知识对齐。 知识对齐是解决多源知识整合挑战的关键技术但很容易被忽视尤其是“实体对齐”之外的其他点因为他非常琐碎和耗时。具体有5类对齐维度第一共指消解。解决同一数据源内不同指代指向同一个实体的问题。例如李白写下《静夜思》他是唐朝诗人中他指的就是李白。第二实体对齐。识别不同数据源内同一实体命名不一致的问题。例如李白、李太白、青莲居士、诗仙都是指同一个人。第三关系合并。解决不同数据源或同数据源中不同关系表达指向同一语义关系的问题。例如坐落于和地处可以合并为位于。第四属性融合。将同一实体从不同数据源抽取的多源属性或属性值进行合并、补全、标准化为实体构建完整、统一的属性集。第五冲突解决。基于置信度、时间戳和来源权威度解决数据冲突。例如数据源1中北京-常住人口-2184万数据源2国家统计局中北京-常住人口-3000万数据源2来自国家统计局权威性更高应以此为准。七知识存储知识存储是将构建好的知识图谱持久化存储的技术。图数据库是知识存储的主流选择。 如何选型需要考虑数据规模、查询复杂度、国产化要求等因素。并综合考虑不同数据库在1跳查询、3跳查询、写入速度和生态成熟度等方面的性能。八知识查询查询语言也多种多样这里以neo4j的cypher查询语言为例简单看一下 其核心语法包括基本查询使用MATCH (n) RETURN n进行简单查询获取图中的所有节点。关系遍历通过MATCH (a)-[r]-(b) WHERE a.name腾讯进行关系遍历查找相关实体。多跳查询利用MATCH (a)-[*1..3]-(b)进行多跳查询发现间接关联的实体。聚合分析使用RETURN count(r), sum(r.amount)进行聚合分析统计相关数据。 等等相关研究表明在三度关联查询上Cypher相比SQL具有明显的性能优势。这是因为图数据库的存储结构天然适合表示和查询关系数据。五、案例分析上边MaxKB就是一个很好的案例大家可以尝试进行RAG搭建。相关的指南可参考在线安装 - MaxKB 文档