langgraphy条件边

"""

创建一个静态模型的智能体

"""

import json

from langchain.agents import create_agent

from langchain.chat_models import init_chat_model

from langchain.tools import tool

from langgraph.graph.state import CompiledStateGraph

from env_utils import DEEPSEEK_API_KEY, DEEPSEEK_BASE_URL

from langchain_core.messages import AnyMessage

"""

基本控制: 串行控制

基本控制: 分支控制

Successfully installed langchain-core-1.4.0

langchain-protocol-0.0.15 langgraph-1.2.0

langgraph-checkpoint-4.1.0 langgraph-prebuilt-1.1.0 ormsgpack-1.12.2

"""

from langchain_core.messages import AnyMessage

from typing_extensions import TypedDict

from langgraph.graph import START,StateGraph,END

from IPython.display import Image,display

from typing import Any, Annotated, Literal

import operator

class State(TypedDict):

aggregate: Annotatedlist,operator.add

def a(state:State):

print(f"Node A sees {state'aggregate'}")

return {"aggregate":"A"}

def b(state:State):

print(f"Node B sees {state'aggregate'}")

return {"aggregate": "B"}

builder=StateGraph(State)

builder.add_node(a)

builder.add_node(b)

def route(state: State) -> Literal"b",END:

if len(state"aggregate")<7:

return "b"

else:

return END

builder.add_edge(START,"a")

builder.add_conditional_edges("a",route)

builder.add_edge("b","a")

graph = builder.compile()

from IPython.display import Image, display

with open('graph.png', 'wb') as f:

f.write(graph.get_graph().draw_mermaid_png())

display(Image('graph.png'))

from PIL import Image

import io

假设这是你的 PNG 字节数据

png_data = graph.get_graph().draw_mermaid_png()

if 'png_data' in locals():

将字节数据解码为图片a

img = Image.open(io.BytesIO(png_data))

img.show()

res=graph.invoke({"value_1": "c"})

print(res)

def route(state: State) -> Literal"b",END:

if len(state"aggregate")<7:

return "b"

else:

return END

builder.add_edge(START,"a")

builder.add_conditional_edges("a",route)

builder.add_edge("b","a")

条件边, 如果返回b,就是a->b,b->a,循环, 直到b->END

相关推荐
我不是外星人4 分钟前
浅谈我对 AI 发展的看法
前端·ai编程·claude
kmblack138 分钟前
javascript计算年龄
开发语言·javascript·ecmascript
甲维斯1 小时前
测一波Kimi K2.7,消耗一周配额!
前端·人工智能·游戏开发
Dick5071 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人
xiaofeichaichai1 小时前
前端安全 XSS 与 CSRF
前端·安全·xss
JS菌1 小时前
Skills 动态加载系统:让 AI Agent 按需获取领域知识
前端·人工智能·后端
weedsfly1 小时前
Sass 代码复用完全指南:从变量到模块化
前端
张拭心2 小时前
Android 17 新特性:后台音频交互限制加强
android·前端
张拭心2 小时前
Android 17 新特性:ProfilingManager 新触发器
android·前端