2026/1/1 10:09:11
网站建设
项目流程
毕设网站和系统的区别,dw网页制作多少钱,运城 网站建设,郑州直播网站建设公司概述
RAG#xff08;Retrieval-Augmented Generation#xff0c;检索增强生成#xff09;作为连接大语言模型与外部知识库的核心技术#xff0c;凭借检索生成的组合模式#xff0c;有效解决了LLM知识时效性不足、幻觉率较高的痛点。随着大模型应用向复杂场景延…概述RAGRetrieval-Augmented Generation检索增强生成作为连接大语言模型与外部知识库的核心技术凭借检索生成的组合模式有效解决了LLM知识时效性不足、幻觉率较高的痛点。随着大模型应用向复杂场景延伸传统RAG的静态流水线架构已难以满足高阶需求而融合智能决策能力的Agentic RAG应运而生成为RAG技术演进的重要方向。本文将从架构设计、工作流程、技术特性、代码实现到适用场景全方位拆解两种技术方案的核心差异帮助开发者快速选型无论是入门小白还是进阶开发者都能理清技术脉络并落地实践。传统RAG的执行逻辑Agentic RAG的执行逻辑核心差异对比1. 架构设计核心区别维度传统 RAGAgentic RAG架构复杂度线性流水线架构无反馈闭环智能代理驱动的闭环架构组件构成检索器Retriever 生成器Generator规划器Planner 执行器Executor 反思器Reflector 工具集Tools 记忆模块Memory决策机制固定规则驱动硬编码参数大模型推理驱动动态自适应扩展性单一知识库适配扩展成本高多工具/多知识库兼容可灵活扩展2. 工作流程可视化对比传统 RAG 流程单向流水线用户查询 → 向量检索固定参数→ 文档召回单轮→ 上下文拼接 → LLM生成答案 → 直接返回结果 特点无中间反馈检索与生成完全分离流程固定不可调Agentic RAG 流程智能闭环用户查询 → 任务分析复杂度/类型识别→ 规划器制定检索策略 → 执行器调用适配工具 → 多轮信息收集动态调整→ 反思器验证信息一致性 → 答案合成与优化 → 质量评估置信度计算→ 返回结果推理过程 特点每一步均有反馈机制可根据中间结果迭代优化流程具备自适应性详细技术特性拆解3. 检索策略静态匹配 vs 动态优化传统 RAG静态检索模式检索参数召回数量k值、相似度阈值固定写死无论查询复杂度如何均使用同一套配置单轮检索局限一次性完成文档召回若召回结果相关性不足无法补充检索被动适配问题仅依赖向量相似度匹配无法识别查询中的歧义、多意图等复杂场景实战痛点简单查询可能召回冗余信息复杂查询又会因参数固定导致相关性不足Agentic RAG动态检索策略根据查询长度、复杂度、领域类型智能调整参数如短查询用高阈值精准匹配长查询用低阈值广泛召回多轮迭代检索支持检索-评估-再检索的闭环若首次结果满足不了需求自动触发补充检索主动意图识别通过LLM分析查询背后的真实需求比如区分事实查询、概念解释、多步骤推理等场景匹配对应检索工具进阶特性支持跨知识库联合检索、多模态检索工具调用文本/表格/图片适配复杂知识场景4. 推理能力直接映射 vs 多步推演传统 RAG表层推理仅能基于召回的文档片段做直接总结无法进行逻辑推导无信息验证不具备事实核查能力召回文档中的错误信息会直接被LLM引用单源依赖所有生成内容均基于单次检索结果缺乏多角度验证典型问题面对为什么“如何实现”对比分析类问题时答案缺乏深度和逻辑性Agentic RAG多步逻辑推理通过规划器拆解复杂任务比如将解释过拟合拆解为定义→原因→解决方法→应用场景多步骤处理交叉验证机制调用多个知识库/工具交叉验证信息过滤矛盾或错误内容记忆增强推理通过记忆模块保存中间推理过程支持跨轮次的上下文关联反思优化能力生成答案后会自我评估若置信度不足则重新调整检索策略代码实现示例传统 RAG 实现from langchain.vectorstores import FAISS from langchain.embeddings import OpenAIEmbeddings from langchain.llms import OpenAI from langchain.chains import RetrievalQA from langchain.document_loaders import TextLoader from langchain.text_splitter import CharacterTextSplitter classTraditionalRAG:def__init__(self,documents_path):self.embeddingsOpenAIEmbeddings()self.llmOpenAI(temperature0)self.setup_vectorstore(documents_path)self.setup_qa_chain()defsetup_vectorstore(self,documents_path):# 加载文档 loaderTextLoader(documents_path)documentsloader.load()# 文档分割 text_splitterCharacterTextSplitter(chunk_size1000,chunk_overlap0)textstext_splitter.split_documents(documents)# 创建向量库 self.vectorstoreFAISS.from_documents(texts,self.embeddings)defsetup_qa_chain(self):# 创建检索器固定参数 retrieverself.vectorstore.as_retriever(search_kwargs{k:5}# 固定检索5个文档)# 创建QA链 self.qa_chainRetrievalQA.from_chain_type(llmself.llm,chain_typestuff,retrieverretriever,return_source_documentsTrue)defquery(self,question):简单的单轮查询resultself.qa_chain({query:question})return{answer:result[result],sources:result[source_documents]}# 使用示例 traditional_ragTraditionalRAG(documents.txt)responsetraditional_rag.query(什么是机器学习)print(response[answer])### Agentic RAG 实现 import json from typing import List,Dict,Any from langchain.agents import Tool,AgentExecutor,create_openai_functions_agent from langchain.memory import ConversationBufferMemory from langchain.schema import BaseRetriever from langchain.llms import OpenAI from langchain.prompts import ChatPromptTemplate import logging classAgenticRAG:def__init__(self,vectorstores:Dict[str,Any]):self.llmOpenAI(temperature0.1)self.vectorstoresvectorstores self.memoryConversationBufferMemory(memory_keychat_history,return_messagesTrue)self.setup_tools()self.setup_agent()defsetup_tools(self):设置智能工具集self.tools[Tool(nameprecise_search,description用于精确搜索特定技术概念和定义,funcself._precise_search),Tool(namebroad_search,description用于广泛搜索相关背景信息,funcself._broad_search),Tool(namecross_reference,description交叉验证多个信息源的一致性,funcself._cross_reference),Tool(namesummarize_findings,description总结和整合搜索结果,funcself._summarize_findings),Tool(namefact_check,description验证信息的准确性,funcself._fact_check)]def_precise_search(self,query:str)-str:精确搜索try:# 动态调整检索参数iflen(query)20:# 短查询用更高精度 k3score_threshold0.8else:# 长查询用更多候选 k7score_threshold0.7retrieverself.vectorstores[technical].as_retriever(search_typesimilarity_score_threshold,search_kwargs{k:k,score_threshold:score_threshold})docsretriever.get_relevant_documents(query)returnself._format_search_results(docs,精确搜索)except Exception as e:returnf精确搜索失败: {str(e)}def_broad_search(self,query:str)-str:广泛搜索try:retrieverself.vectorstores[general].as_retriever(search_kwargs{k:10}# 获取更多相关文档)docsretriever.get_relevant_documents(query)returnself._format_search_results(docs,广泛搜索)except Exception as e:returnf广泛搜索失败: {str(e)}def_cross_reference(self,topic:str)-str:交叉验证信息results[]forstore_name,storeinself.vectorstores.items():try:retrieverstore.as_retriever(search_kwargs{k:3})docsretriever.get_relevant_documents(topic)results.append({source:store_name,content:[doc.page_content[:200]fordocindocs]})except Exception as e:logging.error(f交叉验证失败 {store_name}: {e})returnjson.dumps(results,ensure_asciiFalse,indent2)def_summarize_findings(self,findings:str)-str:整合搜索结果promptf 请整合以下搜索结果提供一个连贯的总结{findings}要求1.去除重复信息2.突出关键要点3.保持逻辑连贯性4.标注不确定的信息try:responseself.llm(prompt)returnresponse except Exception as e:returnf总结失败: {str(e)}def_fact_check(self,statement:str)-str:事实验证# 简化的事实检查逻辑 verification_sources[]forstore_name,storeinself.vectorstores.items():try:retrieverstore.as_retriever(search_kwargs{k:5})docsretriever.get_relevant_documents(statement)# 检查文档中是否有支持或反驳的证据fordocindocs:ifany(keywordindoc.page_content.lower()forkeywordinstatement.lower().split()):verification_sources.append({source:store_name,evidence:doc.page_content[:300],relevance:支持ifstatement.lower()indoc.page_content.lower()else相关})except Exception as e:logging.error(f事实检查失败 {store_name}: {e})returnjson.dumps(verification_sources,ensure_asciiFalse,indent2)def_format_search_results(self,docs:List,search_type:str)-str:格式化搜索结果ifnot docs:returnf{search_type}未找到相关文档results[]fori,docinenumerate(docs):results.append({rank:i1,content:doc.page_content[:500],metadata:getattr(doc,metadata,{})})returnjson.dumps({search_type:search_type,total_results:len(results),documents:results},ensure_asciiFalse,indent2)defsetup_agent(self):设置智能代理# 定义代理的系统提示 system_prompt 你是一个智能的RAG代理具备以下能力1.**任务分析**:分析用户查询的复杂度和类型2.**策略规划**:根据查询特点制定最优的信息检索策略3.**工具使用**:灵活选择和组合使用各种搜索工具4.**质量控制**:验证信息准确性并评估答案完整性5.**迭代优化**:根据中间结果动态调整策略 工作流程1.首先分析查询类型事实性、概念性、比较性等2.选择合适的搜索策略精确/广泛/交叉验证3.执行搜索并评估结果质量4.如果需要进行补充搜索或验证5.整合所有信息形成最终答案6.进行质量检查和准确性验证 请始终保持客观、准确、有条理的回答风格。 promptChatPromptTemplate.from_messages([(system,system_prompt),(user,{input}),(assistant,我来帮你分析这个问题并制定搜索策略。),(human,{agent_scratchpad})])# 创建代理 agentcreate_openai_functions_agent(llmself.llm,toolsself.tools,promptprompt)self.agent_executorAgentExecutor(agentagent,toolsself.tools,memoryself.memory,verboseTrue,max_iterations5,# 限制最大迭代次数 handle_parsing_errorsTrue)defquery(self,question:str)-Dict[str,Any]:智能查询处理try:# 执行智能代理 resultself.agent_executor.invoke({input:question})return{answer:result[output],reasoning_steps:self._extract_reasoning_steps(),sources_used:self._extract_sources(),confidence_score:self._calculate_confidence()}except Exception as e:logging.error(f查询处理失败: {e})return{answer:抱歉处理您的查询时出现了错误。,error:str(e)}def_extract_reasoning_steps(self)-List[str]:提取推理步骤# 从内存中提取推理过程 messagesself.memory.chat_memory.messages steps[]formsginmessages[-10:]:# 获取最近的消息ifhasattr(msg,content)andToolinstr(msg.content):steps.append(str(msg.content)[:200])returnsteps def_extract_sources(self)-List[str]:提取信息源# 简化实现从工具调用中提取源信息return[技术文档库,通用知识库,交叉验证结果]def_calculate_confidence(self)-float:计算答案可信度# 简化的可信度计算 base_confidence0.7# 根据使用的工具数量调整 tools_usedlen(self._extract_reasoning_steps())confidence_bonusmin(tools_used*0.1,0.3)returnmin(base_confidenceconfidence_bonus,1.0)# 使用示例 defcreate_agentic_rag_system():# 假设已经有多个向量库 vectorstores{technical:technical_vectorstore,# 技术文档向量库general:general_vectorstore,# 通用知识向量库specialized:specialized_vectorstore # 专业领域向量库}agentic_ragAgenticRAG(vectorstores)# 复杂查询示例 complex_query 请详细解释机器学习中的过拟合问题包括1.产生原因2.识别方法3.解决策略4.与深度学习的关系 resultagentic_rag.query(complex_query)print( Agentic RAG 回答 )print(f答案: {result[answer]})print(f\n推理步骤: {result[reasoning_steps]})print(f信息源: {result[sources_used]})print(f可信度: {result[confidence_score]:.2f})# 运行示例 #create_agentic_rag_system()性能与适用性对比5. 性能特征指标传统 RAGAgentic RAG响应速度快单轮检索较慢多轮推理准确性中等高多重验证成本低高多次API调用可解释性低高推理过程透明6. 适用场景传统 RAG 适用于• ✅ 简单的事实查询• ✅ 对响应速度要求高的场景• ✅ 成本敏感的应用• ✅ 文档内容相对静态Agentic RAG 适用于• ✅ 复杂的多步推理问题• ✅ 需要高准确性的关键应用• ✅ 要求可解释性的专业领域• ✅ 动态、多样化的知识源总结Agentic RAG代表了RAG技术的重要进步通过引入智能代理的概念大大提升了系统的推理能力和灵活性。虽然在计算成本和复杂性方面有所增加但在准确性、可解释性和处理复杂查询方面具有显著优势。关键优势智能决策能够根据查询类型动态选择最优策略多步推理支持复杂的逻辑推导和信息整合质量保证通过多重验证确保答案准确性透明可解释提供完整的推理过程和决策依据技术选择建议简单应用→ 传统 RAG成本低、速度快专业应用→ Agentic RAG准确性高、可解释性强混合场景→ 分层架构根据查询复杂度动态选择选择哪种方案需要根据具体的业务需求、性能要求和成本预算来决定。对于大多数简单应用传统RAG已经足够而对于需要高质量、可信赖答案的专业应用Agentic RAG则是更好的选择。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2025 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取