| State(状态) | 整个工作流中被传输和存储的数据的数据结构 |
| Node(结点) | 工作流中执行的一个步骤(调用函数、工具) |
| Edge(边) | 控制流程下一步应该去哪个结点 |
| Graph(流程图) | 将所有边和结点组织成一张流程图 |
-> dict:返回值注解,表示该函数应该返回一个 dict 类型的对象Reducer(归并函数):在 LangGraph 中,所有节点返回的都是“局部更新结果”,Reducer 是用于合并多个节点输出更新的机制。 将每个节点返回的“局部状态更新”统一合并进全局的 State
在长任务中,state会随着任务轮次的增加变得臃肿,容易导致解析变慢或者上下文溢出,为了解决这种现象,需要引入reducer机制
add_edge负责把两个节点连接起来:workflow.add_edge(上一个节点, 下一个节点)End节点
条件边的格式条件入口点
workflow.add_conditional_edges(
"起点节点",
routing_function, # 判断逻辑函数
{"path_a": "节点A", "path_b": "节点B"} # 路由映射表
)
标准结构是 Send(目标节点名称, 要传递的状态数据)
Send("node_name", {"key": value})
注意这里,graph.add_node("worker",calculate_square)这里解释两个点
第一个字符串参数是节点在图中的标识符
第二个参数是具体要执行的函数
在节点函数中返回command时,必须添加返回类型注释,其中包含节点路由到的节点名称列表,例如command[Literal ["my_other_node"]]。这对于图形渲染是必需的,它告诉 LangGraph 当前节点可以导航到my_other_node。
| 欢迎光临 AI创想 (https://llms-ai.com/) | Powered by Discuz! X3.4 |