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

相关推荐
葡萄城技术团队11 分钟前
接一个前端库:以前要啃几天文档,现在三步——活字格 V12.1 AI辅助开发上手
前端
愿得一猪蹄22 分钟前
浏览器开发者工具隐藏技巧,你可能只用了一成
前端
daols8829 分钟前
vue 甘特图组件 vxe-gantt 修改滚动条样式-让滚动条自动隐藏
javascript·vue.js·甘特图
高晶33 分钟前
ARM 嵌入式 Linux 内核编译与结构解析实战
前端·架构
今年下半年1 小时前
【前端】Vue2 项目 ECharts 统计图表组件封装与使用实践(附组件源码)
前端·javascript·echarts
冒险的豆子1 小时前
JS 原型链 通俗易懂 解释说明(类比 关系)
开发语言·javascript·原型模式
西索斯coding1 小时前
在 中接入 教程:p配置、m填写、扩展思考参数一篇就够(2)
java·前端·javascript·ai
代码猎人1 小时前
前端怎么优化项目基础架构
前端
__sjfzllv___1 小时前
在职前端Leader学习/转行 AI Agent -DAY78
前端
代码猎人1 小时前
前端怎么封装工具类
前端