状态的模式将成为图中所有 节点 和 边 的输入模式,这意味着节点和边的所有操作都是基于这个模式的状态进行的。换句话说,图的所有组件在处理数据时都会遵循这个模式的定义。模式
代码讲解
1.定义状态模式
首先,代码定义了四个不同的状态模式 (InputState、OutputState、OverallState 和 PrivateState),这些模式用于描述图中不同部分的状态结构。
InputState:包含一个键user_input,用于表示图的输入,即用户提供的输入数据。OutputState:包含一个键graph_output,表示图的输出结果,图处理后的最终输出。
3.构建图
- OverallState :是图的整体状态,包含三个字段
foo:用来存储中间的计算结果。user_input:用于记录用户输入。graph_output:记录图的最终输出结果。
PrivateState:包含一个字段 bar,是图内部使用的私有状态,用来在节点间传递数据,不会直接暴露给外部。
- StateGraph(OverallState, input=InputState, output=OutputState):
这里初始化了一个图,定义了该图的整体状态为 OverallState,输入模式为 InputState,输出模式为 OutputState。也就是说,图将从 InputState 获取输入,并最终输出 OutputState。
- builder.add_node(...):这些行代码将节点函数添加到图中,节点按顺序执行:
node_1 处理用户输入并返回 OverallState。node_2 处理 OverallState 并返回 PrivateState。node_3 处理 PrivateState 并返回最终的 OutputState。
- builder.add_edge(...):这些行代码定义了图的执行顺序,规定了节点之间的执行顺序:
图从 START 开始,先执行 node_1。node_1 执行完后,结果传递给 node_2。然后执行 node_3,并在 END 节点结束。
| 欢迎光临 AI创想 (https://llms-ai.com/) | Powered by Discuz! X3.4 |