ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【AI大模型教程】RAG技术全解析:从基础原理到优化实战,收藏这一篇就够了!!

【AI大模型教程】RAG技术全解析:从基础原理到优化实战,收藏这一篇就够了!! 前言你了解RAG吗下面这些问题你是否能回答上来呢什么是 RAGRAG 的流程是什么为什么需要 RAG如何对文档分块Chunking分块大小如何选择检索时如何计算相似度余弦相似度有什么缺点如何优化 RAG 流程什么是 Re-rank如何重排序什么是 GraphRAG如何评估 RAG 系统的效果RAG 有哪些缺点本篇文章来详细介绍什么是 RAGRAG 的流程以及RAG 进阶优化干货满满相信你看完文章之后会对RAG有更深入的理解。RAG 介绍RAG(Retrieval Augmented Generation) 是一种无需微调即可扩充模型知识的常用方法。 借助 RAGLLM可以从数据库中检索上下文文档以提高答案的准确性。因为 LLM 大模型通过海量数据进行训练数据是有时效性的。如果询问最新的文档或者一些专业领域的知识LLM 是无法回答的。所以检索增强生成(RAG) 通过将你的数据添加到 LLM 已有的数据中来解决此问题。RAG 解决了纯生成模型的局限性如幻觉、知识过时等通过动态检索外部知识增强生成结果的可信度和时效性。RAG 流程典型的 RAG 流程分为两个部分构建向量存储创建向量存储是构建检索增强生成 (RAG) 流程的第一步。文档会被加载Load、拆分Split、Embedding 存储到向量数据库中。加载文档 Load加载各种非结构化的数据例如TXT 文本、PDF、JSONHTML、Markdown 等。Langchain 封装了各种格式的DocumentLoaders文档加载器 。切分文本 Split将文本切分成更小的文本块Chunk。转化向量 Embedding使用 Embedding 模型将文本转换为向量浮点数数组表示向量数据库 VectorStore存储 Embedding 向量能够基于向量相似度高效地检索与查询“最相似”的数据。2. 检索生成根据用户输入用向量数据库进行相似性搜索让后把用户的question和搜索到的context作为上下文喂给 LLM 大模型LLM 分析推理回答用户的问题。我使用LangGraph构建了基本的 RAG 流程调用Retrieval Tool搜索相关文档然后GradeDocument对文档进行评分对从向量数据库检索到的文档进行评分 如果检索到的文档与用户输入的内容相关则GenerateAnswer生成答案返回如果不相关则Rewrite重新生成 query 进行检索。代码已上传 Githubhttps://github.com/Liu-Shihao/ai-agent-demo/tree/main/src/rag_agent进阶 - RAG 优化文档 Chunking大模型对话的 token 数量是有限制的文档切分是为了将文档切分为小的文本块适合检索并且节省 token。切分的文本块长度也会影响 LLM 回答的质量。常见的切分文档的方法固定长度切分重叠分块边界按照字符或者 Token 数如 512 个 token切分。重叠分块以避免边界信息丢失。这种方式最简单但是有可能会截断语义。按照句子边界标点符号分块例如使用 NLP 框架SpaCy, 但是长段落可能语义断裂。自定义规则分割用正则表达式或者 DOM 解析器如 BeautifulSoup按照逻辑结构标题段落分块。适合结构化文档但是需要手动设计分割规则。基于语义的分块 用 Transformer 模型分析语义关系分块。优化原则chunk 块大小需要匹配 embedding 模型和 llm 大模型的 tokne 限制。关键信息实体关系尽量保留在同一块中。相似性算法在 RAG检索增强生成和其他信息检索任务中相似性算法用于衡量文本、向量或实体之间的关联程度。欧氏距离L2 欧几里得距离测量连接两点的线段的长度计算向量间的直线距离。它是最常用的距离度量当数据连续时非常有用。值越小相似度越高。余弦相似度COSINE 余弦相似度使用两组向量之间夹角的余弦来衡量它们的相似程度。余弦相似度始终在区间[-1, 1]内。余弦值越大两个向量之间的夹角越小表明这两个向量彼此越相似。适合文本 embedding 比较。BM25(Best Matching 25)BM25 基于词频TF 和逆文档频率IDF)。根据词频、倒排文档频率、文档规范化对相关性进行评分。用于评估文档与查询的相关性。 广泛应用于搜索引擎和问答系统。如 Elasticsearch 默认使用 BM25 排序。词频TF衡量查询词在文档中的出现频率但通过参数k1控制词频的饱和效应避免高频词过度影响得分。逆文档频率IDF惩罚常见词如“的”“是”提升罕见词的权重。反映某个术语在整个语料库中的重要性。出现在较少文档中的术语的 IDF 值较高表明其对相关性的贡献较大。文档长度归一化较长的文档由于包含更多术语往往得分更高。BM25 通过归一化文档长度来缓解这种偏差。通过参数调整长文档的得分避免因文档长度导致的词频偏差。Jaccard相似度Jaccard Index: 比较集合的交集与并集比例。适用场景关键词集合、推荐系统如用户兴趣匹配。范围[0,1]值越小相似度越高。RAG 中的典型应用初步检索余弦相似度快速筛选候选文档。重排序交叉编码器精细排序 Top-K 结果。去重Jaccard 相似度合并重复片段。通过灵活组合这些算法可以优化 RAG 系统的召回率、准确率和响应速度。余弦相似度COSINE的缺点忽视向量长度信息余弦相似度仅计算向量方向的夹角忽略向量的长度模。这意味着高频词干扰TF-IDF或词频高的长文本可能主导方向但实际语义不相关。会放大无关词的影响。归一化依赖未归一化的向量可能导致相似度计算偏差。长文本包含更多词汇其向量各维度值累加后长度模显著大于短文本。语义相似度 ≠ 相关性 余弦相似度基于表面语义匹配。表面匹配但相关文档不一定语义相似 如果两个文本共享许多相同的关键词如“猫”“狗”“宠物”即使逻辑不同余弦相似度仍可能很高。 例如文档1“猫和狗是常见的宠物。”正向描述文档2“猫和狗不适合作为宠物。”负向观点余弦相似度高但语义相反。词序颠倒但余弦相似度相同。示例句子A“医生治疗病人。”句子B“病人治疗医生。”解决方案向量归一化强制所有向量的单位长度如L2归一化。结合其他指标如点积相似度考虑长度或BM25词频加权。重排序Re-rank用交叉编码器如MiniLM精细化排序。混合检索结合关键词匹配BM25或知识图谱关系。Rerank 重排序重排序Reranking是对初步检索结果进行优化排序的技术旨在提升结果的相关性和准确性。初次检索如余弦相似度可能返回语义相关但冗余或低质量片段重排序可结合更多特征优化顺序。方法交叉编码器Cross-Encoder如 MiniLM-L6-v2计算查询与每个文档的相关性分数比嵌入模型更准但更慢。学习排序Learning to Rank训练模型综合多特征如关键词匹配、点击率排序。规则调整去除重复内容、优先新鲜度高的文档。Graph RAG使用知识图谱Knowledge Graph, KG增强 RAG检索增强生成可以显著提升复杂推理、多跳问答和关系挖掘的能力。 通过将文档中的实体Entities和关系Relations提取为知识图谱在检索阶段不仅返回文本片段还返回相关的子图结构从而增强生成模型的上下文理解能力。与传统 RAG 的区别特性传统 RAGGraphRAG检索单元文本片段Chunks实体关系子图推理能力单跳语义匹配多跳推理如 A→B→C适用场景简单问答复杂关系查询实现步骤实体识别NER使用 SpaCy NLP 模型或者 LLM 大模型进行命名实体提取从文本中识别提取人名地名组织名地点日期等实体。关系抽取可以利用 LLM 大模型抽取三元组(〈主体 (Subject), 关系 (Predicate), 客体 (Object)〉)。图谱存储将节点 Node 和关系 Relations 存储到图数据库中如 Neo4j。三元组Triple是知识图谱Knowledge Graph中的基本数据单元用于表示实体Entity之间的关系Relation其结构为〈主体 (Subject), 关系 (Predicate), 客体 (Object)〉通过知识图谱的引入RAG 系统能够从“平面检索”升级为“立体推理”尤其适合需要深挖实体关系的复杂场景。RAG Evaluate 评估对RAG的评估可以从以下两个部分进行检索质量上下文准确率Context Precision是衡量上下文中相关词块比例的指标。准确率是排名为 k 的相关词块数量与排名为 k 的词块总数之比。上下文召回率Context Recall前K个结果中相关文档的比例。衡量成功检索到的相关文档或信息片段数量。更高的召回率意味着遗漏的相关文档更少。生成质量答案相关度 Response Relevancy生成答案与问题的契合度。衡量答案与用户输入的相关性。分数越高表示与用户输入的匹配度越高如果生成答案不完整或包含冗余信息则分数越低。忠诚度 Faithfulness衡量的是答案与检索内容的事实一致性。答案是否严格基于检索内容减少幻觉。RAG 有哪些缺点检索的质量依赖外部数据库如果知识库不完整过时或者噪声多检索到的内容可能不相关或者错误导致生成的答案质量下降。解决方案 定期更新知识库实时爬取权威数据源分块Chunking导致上下文碎片化固定大小的分块可能截断关键信息。答案可能分散在多个 chunk 块中。解决方案动态分块按照语义边界切分如段落章节·语义相关不等于答案相关向量检索如余弦相似度可能返回语义相关但无实际答案的文档。如查询“如何治疗感冒”可能检索到“感冒症状描述”而非治疗方案。解决方案 引入重排序Re-rank模型如交叉编码器混合检索结合关键词检索如 BM25。生成模型忽视检索内容生成模型可能忽略检索到的文档仍依赖自身知识幻觉。解决方案 强化提示工程如“严格基于以下上下文回答”。无法处理多跳推理传统 RAG 难以回答需要多步推理的问题如“A 公司的竞争对手的 CEO 是谁”。解决方案 引入知识图谱GraphRAG显式建模实体关系。RAG 流程时间长检索生成两阶段流程导致响应时间较长尤其涉及重排序时。解决方案缓存高频查询结果。缺点类别具体问题解决方案检索质量知识库不完整/碎片化动态更新知识库、语义分块、重排序生成偏差忽视检索内容/幻觉提示工程、模型微调效率问题高延迟/高计算成本缓存、量化、分层检索知识覆盖领域盲区/偏见多源数据融合、去偏处理复杂推理多跳推理困难GraphRAG、迭代检索最后为什么要学AI大模型当下⼈⼯智能市场迎来了爆发期并逐渐进⼊以⼈⼯通⽤智能AGI为主导的新时代。企业纷纷官宣“ AI ”战略为新兴技术⼈才创造丰富的就业机会⼈才缺⼝将达 400 万DeepSeek问世以来生成式AI和大模型技术爆发式增长让很多岗位重新成了炙手可热的新星岗位薪资远超很多后端岗位在程序员中稳居前列。与此同时AI与各行各业深度融合飞速发展成为炙手可热的新风口企业非常需要了解AI、懂AI、会用AI的员工纷纷开出高薪招聘AI大模型相关岗位。最近很多程序员朋友都已经学习或者准备学习 AI 大模型后台也经常会有小伙伴咨询学习路线和学习资料我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频全系列的学习资料这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】AI大模型系统学习路线在面对AI大模型开发领域的复杂与深入精准学习显得尤为重要。一份系统的技术路线图不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点还能提供一条高效、有序的学习路径。但知道是一回事做又是另一回事初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性在这基础上找到高质量的学习资源不浪费时间、不走弯路又是重中之重。AI大模型入门到实战的视频教程项目包看视频学习是一种高效、直观、灵活且富有吸引力的学习方式可以更直观地展示过程能有效提升学习兴趣和理解力是现在获取知识的重要途径光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。海量AI大模型必读的经典书籍PDF阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。600AI大模型报告实时更新这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。AI大模型面试真题答案解析我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表