AI智能体开发课件第18章_第1页
AI智能体开发课件第18章_第2页
AI智能体开发课件第18章_第3页
AI智能体开发课件第18章_第4页
AI智能体开发课件第18章_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AI智能体开发新手必修课第18章:实战:用LangGraph搭建多步骤任务智能体讲师:资深AI工程师|日期:2026年3月课程简介学习目标掌握使用LangGraph搭建多步骤任务智能体的方法。能够设计链式工作流、循环工作流、分支决策工作流。能够使用LangGraph实现复杂的业务逻辑。内容概览实战案例一:报告生成实战案例二:方案设计与评审实战案例三:数据分析系统目录实战案例一:报告生成——使用LangGraph搭建报告生成工作流实战案例二:方案设计与评审——使用LangGraph搭建方案设计与评审工作流实战案例三:数据分析系统——使用LangGraph搭建数据分析系统工作流互动实操任务——使用LangGraph搭建一个数据分析系统常见问题排查与本章总结实战案例一:报告生成任务目标使用LangGraph搭建报告生成工作流,包含收集数据、撰写大纲、扩写内容、格式美化四个步骤。实现思路定义四个Node,对应工作流的四个核心步骤定义三个Edge,连接节点形成链式工作流定义Graph,指定工作流的起点和终点运行工作流,自动化生成完整报告核心价值:通过LangGraph将复杂的报告生成过程标准化、自动化,显著提升内容生产效率与质量一致性。报告生成代码示例(1)fromlanggraph.graphimportStateGraph,ENDfromtypingimportTypedDict#定义State结构classState(TypedDict):data:stroutline:strcontent:strreport:str#定义Node函数defcollect_data(state:State)->State:state["data"]="收集到的数据"returnstatedefwrite_outline(state:State)->State:state["outline"]="根据数据生成的大纲"returnstate核心逻辑解析收集数据(collect_data)采集并初始化原始数据撰写大纲(write_outline)基于数据生成报告结构扩写内容(expand_content)填充大纲细节,丰富内容格式美化(format_report)生成最终可交付的报告核心流程:数据采集→大纲生成→内容扩写→格式美化,形成闭环工作流。报告生成代码示例(2)#定义Graphgraph=StateGraph(State)#添加Node与Edge,构建工作流graph.add_node("collect_data",collect_data)graph.add_edge("collect_data","write_outline")graph.add_edge("write_outline","expand_content")graph.add_edge("expand_content","format_report")#设置起点终点并编译graph.set_entry_point("collect_data")graph.add_edge("format_report",END)app=pile()代码逻辑解析这段代码定义了一个完整的工作流Graph。首先初始化了Graph对象,接着通过add_node添加了四个核心节点,并使用add_edge建立了节点间的依赖关系。最后设置了工作流的起点和终点,并编译生成了可执行的应用。实战案例二:方案设计与评审任务目标使用LangGraph搭建方案设计与评审工作流,涵盖产品经理写初稿、技术专家评审、修改优化三个核心步骤,实现自动化流转。实现思路定义三个Node,分别对应写初稿、评审、优化步骤。定义两个Edge,连接节点形成分支决策工作流。定义Graph,指定工作流的起点和终点。运行工作流,自动生成并迭代优化最终方案。LangGraph实战系列|方案设计与评审自动化工作流方案设计与评审代码示例(1)fromlanggraph.graphimportStateGraph,ENDclassState(TypedDict):draft:strreview:stroptimized:strdefwrite_draft(state:State)->State:state["draft"]="产品经理写的初稿"returnstatedefreview_draft(state:State)->State:state["review"]="技术专家的评审意见"returnstate代码逻辑解析状态定义(State)定义了工作流中的数据结构,包含草稿、评审和优化结果三个字段。节点功能(Node)每个函数代表一个处理节点,负责处理特定任务并更新状态数据。协作流程从初稿撰写到技术评审,再到方案优化,形成完整的协作闭环。核心要点:这段代码展示了如何利用LangGraph框架构建一个简单的状态驱动工作流,通过TypedDict规范数据结构,通过纯函数定义节点逻辑,确保了系统的可维护性和扩展性。方案设计与评审代码示例(2)workflow_design.py#定义Graphgraph=StateGraph(State)#添加Nodegraph.add_node("write_draft",write_draft)graph.add_node("review_draft",review_draft)graph.add_node("optimize_draft",optimize_draft)#添加Edgegraph.add_edge("write_draft","review_draft")graph.add_edge("review_draft","optimize_draft")graph.add_edge("optimize_draft",END)#设置起点和终点并编译graph.set_entry_point("write_draft")app=graph.compile()代码逻辑解析定义工作流容器创建StateGraph实例,作为工作流的基础容器。添加流程节点注册三个核心节点:撰写、评审、优化,构建任务单元。定义流转逻辑通过add_edge设定节点间的流转顺序,形成闭环。编译运行设置起点并编译生成可执行应用,启动工作流。通过代码化的方式定义业务流程,不仅清晰直观,更便于版本管理与自动化部署。实战案例三:数据分析系统任务目标使用LangGraph搭建数据分析系统工作流,涵盖理解自然语言问题、转成SQL、执行查询、分析结果并生成图表代码四个核心步骤。实现思路定义四个Node,分别对应理解问题、转SQL、执行查询、生成图表代码步骤。定义三个Edge,连接Node形成链式工作流。定义Graph,指定工作流的起点和终点。运行工作流,自动生成数据分析结果。数据分析系统代码示例(1)graph_definition.pyfromlanggraph.graphimportStateGraph,END#定义StateclassState(TypedDict):question:strsql:strresult:strchart:str#定义Nodedefunderstand_question(state:State)->State:state["question"]="用户的自然语言问题"returnstatedefconvert_to_sql(state:State)->State:state["sql"]="生成的SQL查询语句"returnstatedefexecute_query(state:State)->State:state["result"]="查询结果"returnstate代码逻辑解析理解问题(Understand)解析用户输入的自然语言问题,提取关键信息。转换SQL(Convert)将自然语言转换为数据库可执行的SQL查询语句。执行查询(Execute)连接数据库并执行SQL,获取查询结果。生成图表(Generate)基于查询结果生成可视化图表代码。通过定义State数据结构和四个核心Node,我们构建了一个从自然语言到可视化图表的完整自动化分析流程。数据分析系统代码示例(2)graph_definition.py#定义Graphgraph=StateGraph(State)#添加Nodegraph.add_node("understand_question",understand_question)graph.add_node("convert_to_sql",convert_to_sql)graph.add_node("execute_query",execute_query)graph.add_node("generate_chart",generate_chart)#添加Edge&设置起点终点graph.add_edge("understand_question","convert_to_sql")graph.add_edge("convert_to_sql","execute_query")graph.add_edge("execute_query","generate_chart")graph.set_entry_point("understand_question")graph.add_edge("generate_chart",END)代码逻辑解析定义工作流:创建StateGraph实例,作为整个数据分析流程的容器。构建节点与连接:添加四个核心处理节点,并通过Edge定义数据流转方向。设定流程边界:明确工作流的起始点和终止条件,确保流程闭环。编译运行:将定义好的静态图编译为可执行的应用程序。关键知识点:通过`StateGraph`定义工作流,利用`add_node`和`add_edge`构建复杂的状态转换逻辑,最后调用`compile()`方法生成可执行的应用。互动环节:实操任务介绍任务目标使用LangGraph搭建一个数据分析系统工作流,实现一个根据用户输入的自然语言问题生成SQL查询并执行的任务。任务步骤详解1.定义State定义一个State,包含question、sql、result三个核心字段。2.定义Node定义三个Node,分别对应理解自然语言问题、转成SQL、执行查询步骤。3.定义Edge定义两个Edge,分别连接三个Node,形成一个完整的链式工作流。4.定义Graph定义Graph,指定工作流的起点和终点,完成整体流程的编排。5.运行工作流运行工作流,测试系统是否能根据问题正确生成SQL并执行查询。核心技能掌握LangGraph的基本使用,理解状态管理与工作流编排逻辑。实操任务步骤详解1.定义State:定义一个State,包含question、sql、result三个字段。2.定义Node:定义三个Node,分别对应理解自然语言问题、转成SQL、执行查询三个步骤。3.定义Edge:定义两个Edge,分别连接三个Node,形成一个链式工作流。4.定义Graph:定义Graph,指定工作流的起点和终点。5.运行工作流:运行工作流,生成SQL查询并执行。实操任务评判标准总分:100分成功定义State能够正确定义State,包含question、sql、result三个字段。20分成功定义Node能够正确定义三个Node,分别对应理解自然语言问题、转成SQL、执行查询三个步骤。20分成功定义Edge能够正确定义两个Edge,分别连接三个Node,形成一个链式工作流。20分成功定义Graph能够正确定义Graph,指定工作流的起点和终点。20分成功运行工作流能够成功运行工作流,生成SQL查询并执行。20分常见问题排查Q1:工作流设计失败?检查工作流的结构和配置是否正确,确保节点和边的连接正确。Q2:SQL生成失败?检查自然语言问题的理解和SQL生成逻辑是否正确,确保能够正确生成SQL查询语句。Q3:查询执行失败?检查数据库连接和查询语句是否正确,确保能够正确执行查询并返回结果。本章总结多步骤任务智能体掌握了使用LangGraph搭建多步骤任务智能体的方法,能够处理复杂的流程控制。工作流设计能够设计链式工作流、循环工作流、分支决策工作流,灵活应对不同业务场景。业务逻辑实现能够使用Lan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论