LangGraph简单图结构

一

python 复制代码
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages
from langgraph.graph import MessagesState, StateGraph,START,END
from prompt_toolkit.contrib.regular_languages.regex_parser import AnyNode
from rich import print as rprint
from IPython import display
import operator
class State(TypedDict):
  n1: str
def node1(state: State) -> dict:
  return {
    "n1": "1111"
  }
def node2(state: State) -> dict:
  return {
    "n2": "2222"
  }

graph = (
  StateGraph(State)
  .add_node(node1)
  .add_node(node2)
  .add_edge(START, "node1")
  .add_edge(START, "node2")
).compile()
display.display(graph)
rprint(graph)

二

python 复制代码
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages
from langgraph.graph import MessagesState, StateGraph,START,END
from prompt_toolkit.contrib.regular_languages.regex_parser import AnyNode
from rich import print as rprint
from IPython import display
import operator
import random
def node3(state: State) -> dict:
  return {
    "n2": "33"
  }
def node4(state: State) -> dict:
  return {
    "n2": "444"
  }
def node5(state: State) -> dict:
  return {
    "n2": "55"
  }
def route(state: State) -> dict:
  if random.random() >0.5:
    return node1
  else:
    return node2
def route2(state: State) -> dict:
  if random.random() >0.5:
    return node4
  else:
    return node5
builder=StateGraph(State)
builder.add_node(node1)
builder.add_node(node2)
builder.add_node(node3)
builder.add_node(node4)
builder.add_node(node5)
builder.add_conditional_edges(
  source=START,
  path=route,
  path_map={
    "node1": "node1",
    "node2": "node2"
  }
)
builder.add_edge("node1","node3")
builder.add_edge("node2","node3")
builder.add_conditional_edges(
  source="node3",
  path=route2,
  path_map={
    "node4": "node4",
    "node5": "node5"
  }
)
builder.add_edge("node4",END)
builder.add_edge("node5",END)
graph=builder.compile()

display.display(graph)

三

python 复制代码
from typing import TypedDict, Annotated
from langgraph.graph.message import add_messages
from langgraph.graph import MessagesState, StateGraph,START,END
from prompt_toolkit.contrib.regular_languages.regex_parser import AnyNode
from rich import print as rprint
from IPython import display
import operator
class State(TypedDict):
  logs: Annotated[list[str],add_messages]
  list: Annotated[list[AnyNode], operator.add]
  cur_id: str

def node1(state: State) -> dict:
  return {
    "logs": ["node1 运行完毕"],
    "list": ["11111"],
    "cur_id": "9999-"
  }
def node2(state: State) -> dict:
  return {
    "logs": ["node2 运行完毕"],
    "list": ["22222"],
    "cur_id": "7777-"
  }

graph =(
  StateGraph(State)
  .add_node(node1)
  .add_node(node2)
  .add_edge(START, "node1")
  .add_edge("node1", "node2")
  .compile()
)
display.display(graph)
res=graph.invoke({"logs":"222"})
rprint(res)
相关推荐
HZjiangzi1 分钟前
从传统精密制造到机器人赛道:捷昌驱动旋转模组技术突围之路
人工智能
shaibdoio3 分钟前
意图识别实战:从规则匹配到传统机器学习,再到混合大模型方案
人工智能·机器学习
IT_陈寒4 分钟前
SpringBoot自动配置的坑我帮你踩过了
前端·人工智能·后端
198******126346 分钟前
2026企业AI办公工具选型全指南:自动资料整合与报告生成赛道全景
大数据·人工智能
一木 之林7 分钟前
《OpenAI库基础学习总结:Client 初始化、流式输出 delta 拼接与多轮历史 messages 全流程拆解》
人工智能·学习·计算机视觉·stable diffusion·aigc
Ivanqhz10 分钟前
BURG(自底向上重写生成器)
服务器·数据库·人工智能·深度学习·算法
198******1263411 分钟前
Work Agent深度解读:AI长程任务执行的机制与落地形态
人工智能
m4Rk_12 分钟前
【论文阅读】Agent 记忆机制(90):HyperMem——用超图建模长期记忆中的高阶关联
论文阅读·人工智能·学习·开源·github
言乐617 分钟前
逻辑回归与利弊
人工智能·算法·机器学习·数据挖掘·逻辑回归
墨心@20 分钟前
AI Agent 学习总结
人工智能·自然语言处理·agent·harness·datawhale共学