企业网站的首页公司展厅装修
2025/12/29 11:53:49 网站建设 项目流程
企业网站的首页,公司展厅装修,企业网站不备案,微网站开发平台系统软件一、引言 从 2024 年到 2025 年#xff0c;人工智能的焦点正在从检索增强生成 (RAG) 转移到Agentic RAG 本文将介绍 Agentic RAG 的概念、实现方式、优点和局限性。 1.1 Agentic RAG 概述检索增强生成#xff08;RAG#xff09;代表了人工智能领域的一项重大进步#xff0c…一、引言从 2024 年到 2025 年人工智能的焦点正在从检索增强生成 (RAG) 转移到Agentic RAG本文将介绍 Agentic RAG 的概念、实现方式、优点和局限性。1.1 Agentic RAG 概述检索增强生成RAG代表了人工智能领域的一项重大进步它将大型语言模型LLM的生成能力与实时数据检索相结合。尽管 LLM 在自然语言处理方面展现出了卓越的能力但它们对静态预训练数据的依赖常常导致响应过时或不完整。RAG 通过动态地从外部来源检索相关信息并将其融入生成过程来解决这一局限性从而实现上下文准确且最新的输出。1.2 传统RAG 与 Agentic RAG传统RAG系统的架构包括如下三个主要组件Retrieval: 负责查询外部数据源例如知识库、API 或向量数据库。高级检索器利用密集向量搜索和基于 Transformer 的模型来提高检索精度和语义相关性Augmentation: 处理检索到的数据提取并汇总最相关的信息以符合查询上下文Generation: 将检索到的信息与 LLM 的预训练知识相结合生成连贯的、符合上下文的响应。Agentic RAG 引入了基于 AI Agent的自主决策和编排机制从而实现了更强大、更灵活的检索生成工作流程。其流程主要包括以下步骤Step 1: Agent-Oriented Query Analysis用户查询会被路由到AI agent然后AI agent解读查询的意图和上下文。Step 2: Memory and Strategy智能体利用短期会话记忆和长期历史记忆来跟踪上下文。然后制定动态的检索和推理策略。Step 3: Tool Selection Data Gathering能够智能地选择工具例如向量搜索、API 连接器甚至其他智能体并从相关的知识库例如 MCP 服务器、图数据库、文档存储中检索数据。Step 4: Prompt Construction检索到的内容会以结构化形式添加提示词模板然后再输入给 LLM。Step 5: LLM Response GenerationLLM 基于结构化的提示词生成相关高、可解释且适应性强的响应。二、RAG 范式的演变为了应对日益复杂的现实世界应用检索增强生成RAG领域取得了显著发展。在这些应用中上下文准确性、可扩展性和多步骤推理至关重要。最初基于关键词的简单检索已经演变为复杂、模块化和自适应的系统能够整合各种数据源并进行自主决策。这种发展凸显了 RAG 系统高效处理复杂查询的迫切需求。本节探讨 RAG 范式的演进历程介绍了关键的发展阶段朴素 RAG、高级 RAG、模块化 RAG、Graph RAG 和 Agentic RAG。2.1 朴素RAG朴素 RAG 代表了RAG的基础实现图 3 展示了朴素 RAG 简单的检索-读取工作流程重点关注基于关键词的检索和静态数据集。这些系统依赖于简单的基于关键词的检索技术例如 TF-IDF 和 BM25从静态数据集中获取文档。然后检索到的文档用于增强语言模型的生成能力。朴素RAG算法的特点是简单易行因此适用于涉及事实查询且上下文复杂度极低的任务。然而它也存在一些局限性缺乏上下文意识 由于依赖词汇匹配而不是语义理解检索到的文档往往无法捕捉查询的语义细微差别输出碎片化 缺乏高级预处理或上下文整合往往会导致反应不连贯或过于笼统可扩展性问题 基于关键词的检索技术难以处理大型数据集常常无法识别最相关的信息。尽管存在这些局限性但朴素的 RAG 系统为检索与生成相结合提供了重要的概念验证为更复杂的范式奠定了基础。2.2 高级 RAG高级 RAG 系统通过融合语义理解和增强检索技术克服了朴素 RAG 的局限性。图 4 展示了高级 RAG 中语义增强的检索机制以及迭代式、上下文感知的流程。这些系统利用密集检索模型例如密集段落检索 (DPR)和神经排序算法来提高检索精度。2.3 模块化 RAG模块化 RAG 代表了 RAG 范式的最新发展强调灵活性和定制化。这些系统将检索和生成流程分解为独立的、可重用的组件从而实现特定领域的优化和任务适应性。 图 5 展示了模块化架构展示了混合检索策略、可组合管道和外部工具集成。2.4 Graph RAG如图 6 所示Graph RAG 通过集成基于图的数据结构扩展了传统的检索增强生成系统。这些系统利用图数据中的关系和层级结构来增强多跳推理和上下文丰富性。通过整合基于图的检索Graph RAG 能够生成更丰富、更准确的生成式输出尤其适用于需要关系理解的任务。然而Graph RAG 也存在一些局限性可扩展性有限对图结构的依赖可能会限制可扩展性尤其是在拥有大量数据源的情况下数据依赖性 高质量的图数据对于输出至关重要这限制了其在非结构化或标注不良的数据集中的适用性集成的复杂性 将图数据与非结构化检索系统集成会增加设计和实现的复杂性。Graph RAG 非常适合医疗保健诊断、法律研究以及其他对结构化关系进行推理至关重要的领域等应用。2.5 Agentic RAGAgentic RAG 通过引入能够进行动态决策和工作流优化的自主智能体代表了一种范式转变。与静态系统不同Agentic RAG 采用迭代优化和自适应检索策略来处理复杂、实时和跨领域的查询。这种范式充分利用了检索和生成过程的模块化特性同时引入了基于智能体的自主性。在将Agentic RAG系统扩展到解决实际业务问题时并没有单一的、僵化的模板。架构师需要根据独特的用例、数据环境和领域需求而演进。为了实现这一点我们先来看一下 Agentic RAG 流水线各个模块化组件之间的交互方式 1. 分析查询第一步是将原始用户查询传递给一个基于LLM的智能体该智能体负责进行深度分析和转换。以下是此阶段的具体步骤 查询重写 智能体可以重新表述输入生成更精细或替代的版本以便更好地提取相关知识 决策逻辑 它评估查询是否可以直接回答或者是否需要其他数据。 2. 其他数据来源如果需要更多上下文信息系统会激活一个或多个检索智能体 负责获取最相关的数据。这些智能体可能会获取 实时用户数据 例如用户的当前位置或状态 私有/内部文档 项目文件、报告、手册 公共或基于网络的内容 API 数据、索引文章等每个检索路径都是动态的通常根据查询的意图和性质来选择。 3. 重排序搜索结果候选文档检索完成后会通过重排序模型进行处理——该模型通常比基础嵌入模型功能更强大且更能感知上下文。 4. 生成答案In cases where the LLM agent determines it already has sufficient knowledge, it proceeds directly to answer synthesis, which may result in:如果 LLM 智能体判断其已掌握足够的信息则直接进行答案合成 这可能生成以下结果✅ 单一的事实性回答 建议操作列表 或者甚至是执行智能体驱动的工作流程 5. 分析答案最后生成的答案将由另一个智能体或再次调用的同一智能体进行严格评估 如果准确且相关 则与最终用户分享♻️ 如果缺少数据系统可能会重新构建原始查询并重新启动循环—— 但会设置预定义的重试次数限制 以避免无限循环。本质上 Agentic RAG 系统更像是自主决策者 而非简单的检索工具。它们能够动态地适应、推理和演进并随着业务环境的变化而不断调整和发展。三、传统 RAG 系统的挑战和局限性检索增强生成RAG通过将生成与实时数据相结合提高了 LLM 的性能但仍有一些关键挑战限制了其在复杂的现实世界场景中的性能3.1 上下文整合即使 RAG 系统成功检索到相关信息它们也常常难以将其无缝整合到生成的响应中。检索流程的静态特性和有限的上下文感知能力会导致输出结果零散、不一致或过于笼统。例子当被问及 “阿尔茨海默病研究的最新进展及其对早期治疗的意义是什么” 时RAG 可能会检索到相关的研究但却无法将这些发现转化为可操作的患者护理方案。同样对于 “干旱地区小规模农业的最佳可持续实践是什么” 这个问题它可能会检索到一些宽泛的耕作方法但却忽略了针对干旱地区的具体可持续发展技术。3.2 多步骤推理复杂的问题通常需要经过多个步骤的推理但传统的 RAG 通常只通过一次检索就能获取信息错失了更深层次的综合分析。例子诸如 “欧洲可再生能源政策的哪些经验可以应用于发展中国家以及潜在的经济影响是什么” 这样的问题需要结合政策数据、当地情况和经济预测。RAG 模型通常无法将所有这些信息整合起来得出连贯的答案。3.3 可扩展性和延迟问题随着外部数据的增长搜索和排名大型数据集会减慢响应时间这对于实时用例来说是个问题。例子在实时金融分析或客户支持中获取和处理大型数据集的延迟可能会造成损失——例如由于检索速度慢而错过高频交易中的市场趋势。四、Agentic RAG 的分类4.1 Single Agent Agentic RAG: Router单智能体Agentic RAG 作为一个集中式决策系统其中单个智能体负责信息的检索、路由和集成如图所示。这种架构通过将这些任务整合到一个统一的智能体中来简化系统使其在工具或数据源数量有限的场景中尤为有效。工作流程如下所示1查询提交与评估 用户提交查询协调智能体分析并确定合适的数据源。2知识来源选择结构化数据库例如PostgreSQL、MySQLText2SQL语义搜索例如基于向量的 PDF、书籍、内部记录搜索网络搜索实时在线数据推荐系统基于用户个人资料的个性化建议。3数据集成和 LLM 合成 检索到的数据被传递给 LLM 进行合成从而得到连贯的响应。4输出生成 系统为用户生成简洁、可操作的响应。4.2 多智能体Agentic RAG 系统多个专业智能体协同工作每个智能体专注于特定的数据源或任务从而实现对复杂查询的可扩展、模块化处理。工作流程如下所示1查询提交 协调智能体接收查询并将其分发给专业智能体。2专业检索代理智能体 1结构化数据PostgreSQL、MySQL 上的 SQL 查询智能体 2语义搜索PDF、书籍、内部非结构化数据智能体 3实时网络搜索新闻、政策更新智能体 4推荐系统个性化内容、专家建议。3工具访问和数据检索 并行利用矢量搜索、Text2SQL、Web 搜索和外部 API。4数据集成和 LLM 合成 将汇总数据传递给 LLM 进行合成生成综合输出。输出生成 向用户提供最终的、综合的响应。挑战各智能体间的协调复杂性增加更高的计算资源消耗跨异构输出的复杂数据集成。4.3 分层Agentic RAG 系统分层Agentic RAG系统采用结构化的多层信息检索和处理方法如图 18 所示可提高效率并增强战略决策能力。智能体以层级结构组织高层智能体监督和指导低层智能体。这种结构支持多级决策确保查询由最合适的资源处理。工作流程如下所示1查询接收 用户提交查询由负责初步评估和任务分配的高级智能体接收。2战略决策 顶级智能体评估查询的复杂性并根据领域相关性和数据可靠性选择优先考虑哪些下级代理、数据库、API 或检索工具。3委托给下级智能体 任务分配给专门的低级智能体例如SQL 数据库、网络搜索、专有 API这些智能体独立执行检索。4信息综合 下级智能体将结果返回给上级智能体上级智能体将信息整合和综合成一个连贯、统一的响应。5最终响应 向用户呈现最终的综合答案确保答案的完整性和上下文准确性。挑战协调复杂性 跨多个层级的稳健智能体间通信会增加编排开销资源分配 跨层级的有效任务分配十分复杂需要精心管理以避免瓶颈。4.4 Agentic Corrective RAGCorrective RAG 引入了自我纠正机制通过将智能体嵌入工作流程来迭代地改进检索结果从而提高文档利用率和响应质量。工作流程1上下文检索智能体 从向量数据库中检索初始上下文文档。2相关性评估智能体 评估检索到的文档的相关性标记不相关或含糊不清的文档以便进行更正。3查询优化智能体 利用语义理解重写和优化查询以提高检索结果。4外部知识检索智能体 如果上下文仍然不足则进行网络搜索或访问其他数据源。5响应合成智能体 将所有经过验证和完善的信息合成为连贯、准确的响应。矫正性 RAG 的核心理念文档相关性评估 对检索到的文档进行评估相关性低的文档会触发纠正措施。查询优化和增强 查询由查询优化代理重写以提高检索效率确保为响应生成提供更高质量的输入。4.5 Adaptive Agentic RAG自适应 RAG 通过根据每个查询的复杂性调整检索策略引入动态查询处理从而增强灵活性和效率。自适应 RAG 的核心思想直接查询 无需检索即可直接生成基于事实的问题例如“水的沸点是多少”。简单查询 对中等复杂程度的任务进行单步检索例如“我的最新电费账单状态是什么”。复杂查询 多步骤检索通过迭代细化进行分层推理例如“过去十年中 X 市的人口发生了怎样的变化其影响因素是什么”。工作流程1分类器角色较小的 LLM 使用基于历史结果的自动标记数据集来分析查询复杂性。2动态策略选择对于简单的查询LLM 会直接回复。简单查询的单步检索。针对需要迭代推理的复杂查询进行多步骤检索。3LLM 整合检索到的信息被综合成连贯的响应。LLM 和分类器之间的迭代交互可以改进复杂任务的输出。4.6 基于图的Agentic RAG4.6.1 Agent-G为Graph RAG 的Agentic框架Agent-G 引入了一种新颖的架构将图知识库与非结构化文档检索相结合提高了 RAG 系统的推理和检索准确性。Agent-G 的核心思想图知识库 提取结构化关系例如医疗保健中的疾病到症状的映射。非结构化文档 利用来自文本源的上下文信息补充结构化数据。评论模块 评估检索数据的相关性和质量并在需要时触发纠正措施。反馈循环 通过验证和重新查询迭代地改进检索和合成。工作流程如下所示1检索库 模块化智能体专门用于图或非结构化数据检索根据查询需求动态选择数据源。2评论模块 验证检索到的信息的相关性和置信度标记不确定的结果以便改进。3动态智能体交互 特定任务智能体协作将结构化和非结构化数据源集成到统一的工作流程中。4LLM 整合 将已验证的数据综合成连贯的响应并通过批评反馈循环不断改进。4.6.2 GeAR用于 RAG 的图增强智能体GeAR 通过集成基于图的检索和智能体控制来增强传统的 RAG从而改进复杂查询的多跳检索。GeAR 的核心理念图扩展 通过整合图结构数据来扩展基本检索器例如 BM25捕获复杂的实体关系和依赖关系。智能体框架 利用智能体动态管理检索策略根据查询复杂性自主选择图扩展路径。工作流程如下所示1图扩展模块 将图数据集成到检索中扩展搜索空间以包含连通实体从而更好地进行多跳推理。2基于智能体的检索 智能体动态选择和组合检索策略并在必要时利用图扩展检索。3LLM 集成 使用 LLM 将图丰富和非结构化数据合成为连贯、上下文丰富的响应。4.7 Agentic RAG 中的 Agentic 文档工作流 (ADW)ADW 通过在以文档为中心的流程中协调端到端的知识工作自动化来扩展传统的 RAG将解析、检索、推理和结构化输出与智能代理集成在一起。工作流程如下所示1文档解析与信息结构化使用企业工具例如 LlamaParse解析文档提取发票编号、日期、供应商、行项目和付款条款等字段。提取用于下游任务的数据结构。2跨流程的状态维护 维护文档上下文并跟踪跨多个处理阶段的工作流进度。3知识检索从外部知识库例如 LlamaCloud和向量索引中检索相关参考文献。包含实时、特定领域的决策支持指南。4智能体编排 智能体应用业务规则执行多跳推理并协调解析器、检索器和 API 等组件。可操作的输出生成 生成结构化的输出其中包含简洁、可操作的报告中的综合建议和见解。五、Agentic RAG 框架的比较分析表 2 对三种架构框架进行了全面的比较分析传统 RAG、Agentic RAG 和代理文档工作流 (ADW)。该分析突出了它们各自的优势、劣势和最佳适用场景为理解它们在不同用例中的适用性提供了宝贵的见解。六、构建一个Agentic RAG 系统在本教程中我们将构建一个检索智能体。当您希望语言学习模型 (LLM) 决定是从向量存储中检索上下文还是直接响应用户时检索智能体非常有用。在本教程结束时我们将完成以下内容获取并预处理将用于检索的文档。为这些文档建立语义搜索索引并为智能体创建检索工具。构建一个能够决定何时使用检索工具的智能 RAG 系统。环境设置pip install -U --quiet langgraph langchain[openai] langchain-community langchain-text-splittersimport getpass import os def _set_env(key: str): if key not in os.environ: os.environ[key] getpass.getpass(f{key}:) _set_env(OPENAI_API_KEY)6.1 预处理文档1获取要用于 RAG 系统的文档。我们将使用 Lilian Weng 的优秀博客[1]中最新的三个页面。首先我们将使用 WebBaseLoader 工具获取页面内容from langchain_community.document_loaders import WebBaseLoader urls [ https://lilianweng.github.io/posts/2024-11-28-reward-hacking/, https://lilianweng.github.io/posts/2024-07-07-hallucination/, https://lilianweng.github.io/posts/2024-04-12-diffusion-video/, ] docs [WebBaseLoader(url).load() for url in urls]docs[0][0].page_content.strip()[:1000]将获取的文档拆分成更小的块以便索引到我们的矢量存储库中from langchain_text_splitters import RecursiveCharacterTextSplitter docs_list [item for sublist in docs for item in sublist] text_splitter RecursiveCharacterTextSplitter.from_tiktoken_encoder( chunk_size100, chunk_overlap50 ) doc_splits text_splitter.split_documents(docs_list)doc_splits[0].page_content.strip()6.2 创建检索工具现在我们已经有了拆分后的文档我们可以将它们索引到向量存储中以便进行语义搜索。1使用内存向量存储和 OpenAI 嵌入from langchain_core.vectorstores import InMemoryVectorStore from langchain_openai import OpenAIEmbeddings vectorstore InMemoryVectorStore.from_documents( documentsdoc_splits, embeddingOpenAIEmbeddings() ) retriever vectorstore.as_retriever()2使用 LangChain 预构建的 create_retriever_tool 创建一个检索工具from langchain.tools.retriever import create_retriever_tool retriever_tool create_retriever_tool( retriever, retrieve_blog_posts, Search and return information about Lilian Weng blog posts., )3测试该工具retriever_tool.invoke({query: types of reward hacking})6.3 生成查询现在我们将开始构建agentic RAG 图的组件 节点和边 。请注意这些组件将操作 MessagesState 一个包含 messages 键和聊天消息列表的图状态。1构建一个 generate_query_or_respond 节点。该节点将调用 LLM 来根据当前图状态消息列表生成响应。给定输入消息它将决定使用检索工具进行检索还是直接回复用户。请注意我们通过 .bind_tools 为聊天模型提供了对之前创建的 retriever_tool 访问权限from langgraph.graph import MessagesState from langchain.chat_models import init_chat_model response_model init_chat_model(openai:gpt-4.1, temperature0) def generate_query_or_respond(state: MessagesState): Call the model to generate a response based on the current state. Given the question, it will decide to retrieve using the retriever tool, or simply respond to the user. response ( response_model .bind_tools([retriever_tool]).invoke(state[messages]) ) return {messages: [response]}2简单测试一下input {messages: [{role: user, content: hello!}]} generate_query_or_respond(input)[messages][-1].pretty_print()6.4 Grade文件1添加一条条件边 grade_documents 以确定检索到的文档是否与问题相关。我们将使用具有结构化输出模式 GradeDocuments grade_documents 进行文档评分。grade_documents 函数将根据评分决策 generate_answer 或 rewrite_question 返回要跳转到的节点名称from pydantic import BaseModel, Field from typing import Literal GRADE_PROMPT ( You are a grader assessing relevance of a retrieved document to a user question. \n Here is the retrieved document: \n\n {context} \n\n Here is the user question: {question} \n If the document contains keyword(s) or semantic meaning related to the user question, grade it as relevant. \n Give a binary score yes or no score to indicate whether the document is relevant to the question. ) class GradeDocuments(BaseModel): Grade documents using a binary score for relevance check. binary_score: str Field( descriptionRelevance score: yes if relevant, or no if not relevant ) grader_model init_chat_model(openai:gpt-4.1, temperature0) def grade_documents( state: MessagesState, ) - Literal[generate_answer, rewrite_question]: Determine whether the retrieved documents are relevant to the question. question state[messages][0].content context state[messages][-1].content prompt GRADE_PROMPT.format(questionquestion, contextcontext) response ( grader_model .with_structured_output(GradeDocuments).invoke( [{role: user, content: prompt}] ) ) score response.binary_score if score yes: return generate_answer else: return rewrite_question2使用工具响应中的无关文档运行此命令from langchain_core.messages import convert_to_messages input { messages: convert_to_messages( [ { role: user, content: What does Lilian Weng say about types of reward hacking?, }, { role: assistant, content: , tool_calls: [ { id: 1, name: retrieve_blog_posts, args: {query: types of reward hacking}, } ], }, {role: tool, content: meow, tool_call_id: 1}, ] ) } grade_documents(input)3确认相关文件已按此分类input { messages: convert_to_messages( [ { role: user, content: What does Lilian Weng say about types of reward hacking?, }, { role: assistant, content: , tool_calls: [ { id: 1, name: retrieve_blog_posts, args: {query: types of reward hacking}, } ], }, { role: tool, content: reward hacking can be categorized into two types: environment or goal misspecification, and reward tampering, tool_call_id: 1, }, ] ) } grade_documents(input)6.5 重写问题1构建 rewrite_question 节点。检索工具可能会返回一些不相关的文档这表明需要改进原始用户问题。为此我们将调用 rewrite_question 节点REWRITE_PROMPT ( Look at the input and try to reason about the underlying semantic intent / meaning.\n Here is the initial question: \n ------- \n {question} \n ------- \n Formulate an improved question: ) def rewrite_question(state: MessagesState): Rewrite the original user question. messages state[messages] question messages[0].content prompt REWRITE_PROMPT.format(questionquestion) response response_model.invoke([{role: user, content: prompt}]) return {messages: [{role: user, content: response.content}]}2测试一下input { messages: convert_to_messages( [ { role: user, content: What does Lilian Weng say about types of reward hacking?, }, { role: assistant, content: , tool_calls: [ { id: 1, name: retrieve_blog_posts, args: {query: types of reward hacking}, } ], }, {role: tool, content: meow, tool_call_id: 1}, ] ) } response rewrite_question(input) print(response[messages][-1][content])6.6 生成答案1构建 generate_answer 节点如果通过评分器检查我们可以根据原始问题和检索到的上下文生成最终答案GENERATE_PROMPT ( You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you dont know the answer, just say that you dont know. Use three sentences maximum and keep the answer concise.\n Question: {question} \n Context: {context} ) def generate_answer(state: MessagesState): Generate an answer. question state[messages][0].content context state[messages][-1].content prompt GENERATE_PROMPT.format(questionquestion, contextcontext) response response_model.invoke([{role: user, content: prompt}]) return {messages: [response]}2再测试一下input { messages: convert_to_messages( [ { role: user, content: What does Lilian Weng say about types of reward hacking?, }, { role: assistant, content: , tool_calls: [ { id: 1, name: retrieve_blog_posts, args: {query: types of reward hacking}, } ], }, { role: tool, content: reward hacking can be categorized into two types: environment or goal misspecification, and reward tampering, tool_call_id: 1, }, ] ) } response generate_answer(input) response[messages][-1].pretty_print()6.7 组装Graph首先调用 generate\_query\_or\_respond 函数然后确定是否需要调用 retriever\_tool使用 tools_condition 跳转到下一步如果 generate_query_or_respond 返回 tool_calls 则调用 retriever_tool 来检索上下文否则直接回复用户。根据检索到的文档内容与问题的相关性对其进行评分 grade_documents 并跳转到下一步如果问题不相关请使用 rewrite_question 重写问题然后再次调用 generate_query_or_respond如果相关则继续执行 generate_answer 操作并使用 ToolMessage 和检索到的文档上下文生成最终响应。from langgraph.graph import StateGraph, START, END from langgraph.prebuilt import ToolNode from langgraph.prebuilt import tools_condition workflow StateGraph(MessagesState) # Define the nodes we will cycle between workflow.add_node(generate_query_or_respond) workflow.add_node(retrieve, ToolNode([retriever_tool])) workflow.add_node(rewrite_question) workflow.add_node(generate_answer) workflow.add_edge(START, generate_query_or_respond) # Decide whether to retrieve workflow.add_conditional_edges( generate_query_or_respond, # Assess LLM decision (call retriever_tool tool or respond to the user) tools_condition, { # Translate the condition outputs to nodes in our graph tools: retrieve, END: END, }, ) # Edges taken after the action node is called. workflow.add_conditional_edges( retrieve, # Assess agent decision grade_documents, ) workflow.add_edge(generate_answer, END) workflow.add_edge(rewrite_question, generate_query_or_respond) # Compile graph workflow.compile()可视化Graphfrom IPython.display import Image, display display(Image(graph.get_graph().draw_mermaid_png()))6.8 运行 Agentic RAGfor chunk in graph.stream( { messages: [ { role: user, content: What does Lilian Weng say about types of reward hacking?, } ] } ): for node, update in chunk.items(): print(Update from node, node) update[messages][-1].pretty_print() print(\n\n)输出Update from node generate_query_or_respond Ai Message Tool Calls: retrieve_blog_posts (call_cZehDWOxAfSV1RQdw1RHzKwG) Call ID: call_cZehDWOxAfSV1RQdw1RHzKwG Args: query: types of reward hacking Update from node retrieve Tool Message Name: retrieve_blog_posts Detecting Reward Hacking# In-Context Reward Hacking# (Note: Some work defines reward tampering as a distinct category of misalignment behavior from reward hacking. But I consider reward hacking as a broader concept here.) At a high level, reward hacking can be categorized into two types: environment or goal misspecification, and reward tampering. Why does Reward Hacking Exist?# Update from node generate_answer Ai Message Lilian Weng categorizes reward hacking into two types: environment or goal misspecification, and reward tampering. She considers reward hacking as a broader concept that includes both of these categories. Some work defines reward tampering separately, but Weng includes it under the umbrella of reward hacking.七、结论从传统的检索增强生成RAG系统到Agentic RAG 的演进标志着我们在处理复杂实际应用中的推理、检索和响应生成方式发生了范式转变。正如我们所探讨的Agentic RAG 架构通过赋予智能体迭代推理、任务委派、自我纠错和动态适应的能力开启了智能的新维度——而这正是传统 RAG 流程难以实现的。从单智能体路由到分层纠错的多智能体工作流再到通过 Agent-G 和 GeAR 等框架将图结构与智能体推理融合我们现在拥有了构建真正模块化、弹性且上下文感知的检索系统的基础模块。从自适应智能体到文档工作流代理每一层抽象都为 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大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询