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

相关推荐
岁岁种桃花儿8 分钟前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
Highcharts.js36 分钟前
数据可视化避坑指南 ——开发中常见图表错误与修复方案
javascript·信息可视化·数据可视化·highcharts·数据可视化避坑·修复方案
观无1 小时前
若依EasyExcel实现单元格合并
开发语言·前端·javascript
愚公搬代码1 小时前
【愚公系列】《Web应用安全》001-VMware的安装
前端·安全
xiaohaiAIgeo1 小时前
【2026年】HG/T 20656-2024化工暖通空调设计规范:新版标准的变化与影响
java·前端·javascript·科普知识
立少→万能汉编1 小时前
用“立少→超文本”写静态网页,标签<倍>
服务器·前端·javascript
weixin_431600441 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js
你挚爱的强哥2 小时前
【chromeDownload】自定义组件:多用于登录框底部提供下载Chrome谷歌浏览器的链接
前端·vue.js·chrome
cindershade2 小时前
用原生 HTML5 视频与 Canvas 实现浏览器端视频抽帧封面
前端
笨鸟先飞,勤能补拙2 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全