02—LangGraph之API的了解
01-State的基础介绍State为工作流中的执行结果的当前更新状态每个节点共享并且每个节点都可以修改代表当前快照存储了工作流的必要信息包含两个部分1.schema,2.reducer function1.schema一般都统一使用state_schemastate可以为typedict一般使用这个也可以为basemodel类型2.reducerstate状态改变的方式选择为状态合并策略默认为覆盖5种常见的方式operator.add的三种情况:列表合并字符串连接整数相加operaor.mul 的情况特殊其第一次调用默认初始值为0.0需加上相关自定义状态定义代码02-Node节点就是python函数用add_node方式添加相关代码理解1.节点缓存机制key_func根据节点输入生成缓存键底层可以默认ttl缓存生存时间缓存命中即立即返回结果添加节点代码2.错误处理和重试策略在节点中设定retry_policy参数一般使用默认重试策略测试代码03-Edge边定义了节点之间的链连接和执行顺序1.条件边条件边代码:路由选择器条件边的构造2.条件入口点与虚拟节点start密切相关从开始节点就开始选择04-send把同一个节点并行调用多次每次传入不同的子状态实现类似 “Map-Reduce” 的效果。用于支持动态的决定下一步执行哪个节点langgraph支持从条件边返回send对象send接收两个参数节点的名称和要传递给该节点的状态map-reduce:拆分加聚合拆分任务并行执行并行执行多个子节点并最终汇总到一个总节点代码:05-command指定下一个节点并且支持更新状态处理中段恢复以及在嵌套图中导航简单代码实现动态路由串行command与条件边的区别条件边为简化版的command,command还支持状态更新06-Runtimetext将运行时配置和图状态分离分三步1.comtext schema 用dataclass定义一个类定义上下文结构定义上下文2.节点函数接收图的状态和runtime(运行时上下文)通过runtime.context访问上下文信息3.在构建图时传入context_schemacontxtschema参数创建图时传入参数