04 边(Edges)
04 边Edges边定义了节点之间的转换逻辑决定执行流程。一、普通边fromlanggraph.constantsimportSTART,END# A 执行完直接到 Bgraph.add_edge(node_a,node_b)# 从 START 开始graph.add_edge(START,node_1)# 到 END 结束graph.add_edge(node_last,END)执行顺序节点按边的定义顺序执行前一个节点完成后才执行下一个。二、条件边根据状态动态决定下一个节点。 条件边演示 运行方式python 04_条件边.py fromtypingimportLiteralfromlanggraph.graphimportStateGraph,START,ENDclassMyState(dict):query:strneed_rag:booldefrouter(state)-Literal[rag_node,direct_answer]:ifstate.get(need_rag):returnrag_nodereturndirect_answerdefrag_node(state):return{result:RAG检索结果}defdirect_answer(state):return{result:直接回答}builderStateGraph(MyState)builder.add_node(rag_node,rag_node)builder.add_node(direct_answer,direct_answer)builder.add_conditional_edges(router,router,{rag_node:rag_node,direct_answer:direct_answer})builder.add_edge(START,router)builder.add_edge(rag_node,END)builder.add_edge(direct_answer,END)graphbuilder.compile()resultgraph.invoke({query:你好,need_rag:False})print(result)三、可控循环 可控循环演示 运行方式python 04_可控循环.py fromtypingimportLiteralfromlanggraph.graphimportStateGraph,START,ENDfromlanggraph.errorsimportGraphRecursionErrorclassLoopState(dict):count:intmax_count:intdefnode_a(state):print(f执行A计数:{state[count]})return{count:state[count]1}defnode_b(state):print(f执行B计数:{state[count]})return{}defroute(state)-Literal[b,__end__]:ifstate[count]state[max_count]:returnENDreturnbbuilderStateGraph(LoopState)builder.add_node(a,node_a)builder.add_node(b,node_b)builder.add_edge(START,a)builder.add_conditional_edges(a,route)builder.add_edge(b,a)graphbuilder.compile()try:resultgraph.invoke({count:0,max_count:3},config{recursion_limit:6})print(f结果:{result})exceptGraphRecursionErrorase:print(f递归错误:{e})四、并行边 并行边演示 运行方式python 04_并行边.py fromlanggraph.graphimportStateGraph,START,ENDclassMyState(dict):result_a:strresult_b:strmerged:strdefnode_a(state):return{result_a:结果A}defnode_b(state):return{result_b:结果B}defmerge_node(state):return{merged:f{state[result_a]}{state[result_b]}}builderStateGraph(MyState)builder.add_node(node_a,node_a)builder.add_node(node_b,node_b)builder.add_node(merge,merge_node)# 并行从 START 分出两条边builder.add_edge(START,node_a)builder.add_edge(START,node_b)# 汇合两条边指向同一节点builder.add_edge(node_a,merge)builder.add_edge(node_b,merge)builder.add_edge(merge,END)graphbuilder.compile()resultgraph.invoke({})print(result)# {result_a: 结果A, result_b: 结果B, merged: 结果A 结果B}五、核心要点总结要点代码说明普通边add_edge(from, to)A 执行完直接到 B条件边add_conditional_edges(src, func, map)根据状态动态选择并行边多条add_edge(START, node)从同一点分出多条边循环边add_edge(b, a) 条件边形成循环需配合 recursion_limit递归限制config{recursion_limit: 25}防止无限循环相关笔记[[01-LangGraph概述与快速入门]] · [[02-状态]] · [[03-节点]] · [[05-子图Subgraph|子图]]

相关新闻

互联网大厂Java面试实战:用一个下单+音视频+AIGC+RAG智能客服场景串起Spring微服务、消息队列、缓存与AI架构

互联网大厂Java面试实战:用一个下单+音视频+AIGC+RAG智能客服场景串起Spring微服务、消息队列、缓存与AI架构

用一个互联网大厂 Java 面试,把 Spring 微服务、消息队列、缓存、搜索和 AI RAG 全讲清严肃面试官 vs 搞笑候选人小 Y 音视频 AIGC 电商一体化场景 含详细参考答案一、故事背景:小 Y 走进大厂 场景设定: 公司:某综合型互联网大…

2026/6/30 1:53:09阅读更多 →
HR面试必杀技:如何用三层结构答好招聘Agent设计题?

HR面试必杀技:如何用三层结构答好招聘Agent设计题?

本文针对HR面试中常见的招聘Agent设计题,提供了一套完整的答题框架。文章首先阐述了Agent与RPA的本质区别,接着详细拆解了招聘Agent的四大核心能力模块:简历语义理解、结构化面试、时间协调、候选人体验。随后,文章提出了从知识库…

2026/6/30 1:53:09阅读更多 →
BigDecimal类处理高精度计算

BigDecimal类处理高精度计算

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算…

2026/6/30 1:53:09阅读更多 →
【排故】Linux 镜像恢复 VNC 黑屏卡死:NFS 开机挂载阻塞故障完整排障

【排故】Linux 镜像恢复 VNC 黑屏卡死:NFS 开机挂载阻塞故障完整排障

Linux 镜像恢复 VNC 黑屏卡死:NFS 开机挂载阻塞故障完整排障 一、前言 近期做业务服务器镜像恢复测试时,遇到一个典型问题:新机器还原完整系统镜像后,VNC 连接成功但全程黑屏,系统卡在启动阶段无法登录。经过定位&…

2026/6/30 3:03:12阅读更多 →
MSPM0 DEBUGSS调试子系统:从SWD接口到功耗分析与安全控制

MSPM0 DEBUGSS调试子系统:从SWD接口到功耗分析与安全控制

1. 项目概述:深入理解MSPM0的DEBUGSS调试子系统在嵌入式开发领域,调试能力的好坏直接决定了项目的开发效率和最终产品的质量。想象一下,你正在开发一款基于电池供电的智能传感器节点,代码已经烧录进去,但设备功耗远高于…

2026/6/30 3:03:12阅读更多 →
国内智慧交通数字孪生头部企业汇总,一站式建设方案对比推荐

国内智慧交通数字孪生头部企业汇总,一站式建设方案对比推荐

当前智慧交通建设已从传统视频监控、数据统计阶段,迈入空间智能深度赋能的数字孪生新阶段。行业核心痛点集中在三维场景适配性差、实时数据融合效率低、底层引擎依赖海外、智能决策落地难等问题。国内头部企业依托自研核心技术,形成差异化一站式建设方案…

2026/6/30 3:03:12阅读更多 →
Win11Debloat终极指南:4步快速清理Windows系统,性能提升70%

Win11Debloat终极指南:4步快速清理Windows系统,性能提升70%

Win11Debloat终极指南:4步快速清理Windows系统,性能提升70% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to …

2026/6/30 3:03:12阅读更多 →
ABAP CDS中日期与时间的精准获取与转换实战

ABAP CDS中日期与时间的精准获取与转换实战

1. ABAP CDS中的日期时间处理基础 在ABAP CDS视图开发中,处理日期和时间数据是业务场景中最常见的需求之一。我刚接触CDS视图时,就遇到过因为日期格式处理不当导致报表数据错乱的尴尬情况。后来发现,CDS提供了一套完整的日期时间处理函数&…

2026/6/30 3:03:12阅读更多 →
懒人装机神器:系统+Office一步到位,永久免激活

懒人装机神器:系统+Office一步到位,永久免激活

软件下载 下载:https://pan.quark.cn/s/23cfc3f8bc22 收录:https://a-xing.top/4612.html 软件介绍 Mocreak是一款一键自动化下载、安装、部署正版Windows和Office的办公增强工具。该工具完全免费、无广告、绿色、无毒、简约、高效、安全。 软件特点…

2026/6/30 2:58:12阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/29 3:27:55阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/29 2:19:08阅读更多 →
为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南

为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南

为什么你需要Destiny 2 Solo Enabler:技术原理与实战指南 【免费下载链接】Destiny-2-Solo-Enabler Repo containing the C# and XAML code for the D2SE program. Included is also the dependency for the program, and image asset. 项目地址: https://gitcode…

2026/6/30 0:02:58阅读更多 →
第六章:PowerPoint 2010 核心功能与实战应用 —— 从入门到精通

第六章:PowerPoint 2010 核心功能与实战应用 —— 从入门到精通

1. PowerPoint 2010基础操作全攻略 刚接触PowerPoint 2010时,很多人会被它复杂的界面吓到。其实只要掌握几个核心区域,就能快速上手。我最开始用PPT时,经常找不到功能按钮在哪,后来发现主要操作都集中在顶部功能区。 工作窗口主要…

2026/6/30 0:02:58阅读更多 →
XGBoost超参数实战:从理论到调优策略

XGBoost超参数实战:从理论到调优策略

1. XGBoost超参数基础认知 第一次接触XGBoost时,我被它那密密麻麻的参数列表吓到了。这感觉就像面对一架波音747的驾驶舱——每个按钮都可能有神奇的效果,但按错了就可能坠机。经过多年实战,我发现其实掌握十几个核心参数就能解决90%的问题。…

2026/6/30 0:02:59阅读更多 →