当前位置: 首页 > news >正文

AI Agent设计模式一:Chain

概念 :线性任务流设计

  • ✅ 优点:逻辑清晰易调试,适合线性处理流程
  • ❌ 缺点:缺乏动态分支能力

在这里插入图片描述

from typing import TypedDictfrom langgraph.graph import StateGraph, END# 定义后续用到的一些变量
class CustomState(TypedDict):planet1: str # 星球1的名称planet2: str # 星球2的名称mass1: float # 星球1的质量mass2: float # 星球2的质量total_mass: float # 总质量# 定义函数,后续作为节点
def add_numbers(state: CustomState):"""计算两数之和参数:state (State): 包含两个数字的字典返回:None"""state["total_mass"] = state["mass1"] + state["mass2"]return statedef get_planet_mass(state: CustomState):"""查询星球质量(单位:千克)参数:state (State): 包含星球名称的字典返回:None"""PLANET_MASSES = {'Mercury': 3.301e23,'Venus': 4.867e24,'Earth': 5.972e24,'Mars': 6.417e23,'Jupiter': 1.899e27,'Saturn': 5.685e26,'Uranus': 8.682e25,'Neptune': 1.024e26,'Sun': 1.989e30}state["mass1"] = PLANET_MASSES.get(state["planet1"], 0)state["mass2"] = PLANET_MASSES.get(state["planet2"], 0)return state#定义图
workflow = StateGraph(CustomState)
# 定义节点
workflow.add_node("get_planet_mass", get_planet_mass)
workflow.add_node("add_numbers", add_numbers)# 定义边
workflow.set_entry_point("get_planet_mass")
workflow.add_edge("get_planet_mass", "add_numbers")
workflow.add_edge("add_numbers", END)# 编译
graph = workflow.compile()# 测试
custom_state = CustomState(planet1="Earth",planet2="Mars",mass1=0.0,mass2=0.0,total_mass=0.0
)
result = graph.invoke(custom_state)
print(result)

执行结果
在这里插入图片描述


http://www.mrgr.cn/news/97445.html

相关文章:

  • vue2拖拉拽做个模拟公式工具
  • 【零基础入门unity游戏开发——动画篇】Animation动画窗口,创建编辑动画
  • [C++面试] explicit关键字面试点总结
  • modprobe: can‘t open ‘modules.dep‘: No such file or directory
  • 使用NVM下载Node.js管理多版本
  • 下载安装Node.js及其他环境
  • Opencv计算机视觉编程攻略-第十节 估算图像之间的投影关系
  • Linux服务宕机,java服务导致的内存溢出
  • Uni-app入门到精通:uni-app的基础组件
  • 量子纠错码实战:从Shor码到表面码
  • k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路
  • WebRTC技术简介及应用场景
  • 蓝桥杯 web 展开你的扇子(css3)
  • 通过ansible+docker-compose快速安装一主两从redis+三sentinel
  • Gateway 网关 快速开始
  • verilog学习--1、语言要素
  • 【大模型深度学习】如何估算大模型需要的显存
  • C# 与 相机连接
  • 使用python-pptx操作PowerPoint文档详解
  • Django接入 免费的 AI 大模型——讯飞星火(2025年4月最新!!!)