State状态模式

发布时间:2026/9/14 12:05:18

State状态模式 1. reducerState中的每个键 都有自己独立的reducer通过指定的reducer函数进行数据的更新即对于每个节点的返回值state有自己的一套更新策略可以人工通过reducer进行定制2. 一个使用reducer的例子Annotatedfrom langgraph.graph import StateGraph import operator from typing import Annotated, TypedDict, List from langgraph.graph import START, END class State(TypedDict): messages:Annotated[list[dict],operator.add] builder StateGraph(State) def addition(state): print(state) msg state[messages][-1] response {x: msg[x] 1} return {messages: [response]} def subtraction(state): print(state) msg state[messages][-1] response {x: msg[x] - 2} return {messages: [response]} # 向图中添加两个节点 builder.add_node(addition, addition) builder.add_node(subtraction, subtraction) # 构建节点之间的边 builder.add_edge(START, addition) builder.add_edge(addition, subtraction) builder.add_edge(subtraction, END) graph builder.compile() input_state {messages: [{x: 10}]} print(graph.invoke(input_state))这里主要看State类的定义这里用了一个东西Annotated 在python中用来增加特殊注解即本来是指定类型list[dict] 而 这里用Annotated 可以增加一个operator.add 即使用加法作为reducer函数所以该demo运行后的结果是多个字典合并 而非直接替换3. stream和invokegraph.stream({messages: [(user, user_input)]})这个是一个dict类型的东西里面是节点名节点返回值这样构成的invoke是直接返回完整的最终state
延伸阅读

更多相关文章

2026/9/14 17:12:42

低代码工单系统的SLA管理能力深度解析

做运维或者售后管理的人,SLA(服务级别协议)这个词肯定不陌生。能否自动监控SLA、自动预警、自动升级,是衡量一个工单系统是否专业的核心指标。 最近我在帮一家设备制造企业搭建工单系统,老板明确要求必须支持SLA管理&a…

2026/9/9 16:48:36

想了解香港优才计划?一文带你解锁香港优才计划的申请条件!

香港优才计划,全称“优秀人才入境计划”,是香港特区政府为吸引世界各地优秀人才到香港工作定居而推出的一项政策。该计划自推出以来,受到众多内地人士的关注。下面,我们就来详细了解一下香港优才计划的申请条件。基本资格申请人必…

2026/9/4 3:53:31

51-AD/DA、运放

AD/DA介绍也叫ADC/DAC,大多数ADC采集的模拟信号是电压信号,再转换成对应的数字信号:很多传感器都是电阻变化,但ADC不会直接识别声音、光、温湿度和电阻电流等的变化,而是识别对应的电压变化。而DAC也是将输入的数字信号…

2026/9/15 8:56:55

STM32软件SPI驱动ST7735R显示屏实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 8:56:55

基于uni-app的微信小程序电商购物平台开发实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 8:56:55

第一性原理实战指南:从拆解基本事实到重构解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 8:56:55

【凌鸥LKS32】应用篇(一)·Timer定时器模拟任务调度

目录 1. 任务处理方式 1.1 裸机系统 1.1.1 轮询系统 1.1.2 前后台系统 1.2 多任务系统 2. 时间片轮转 2.1 定时器 2.2 外设初始化 2.3 任务调度设计 2.4 按键任务设计 2.5 LED任务设计 2.6 主函数 1. 任务处理方式 1.1 裸机系统 在裸机系统中&#…

2026/9/15 4:54:30

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码