news 2026/4/16 19:48:03

将你的LangChian Agent可视化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
将你的LangChian Agent可视化

在使用LangChain + LangGraph构建智能体(Agent)后,我们可以通过LangGraph 内置的get_graph()方法生成该 Agent 工作流的可视化流程图。这是 LangGraph 官方推荐的方式,适用于调试、文档和展示。本文就总结下生成 LangChain Agent 流程图的几种方法。


✅ 前提条件

确保已安装以下依赖:

pipinstalllanggraph langchain langchain-openai# 或其他 LLM providerpipinstallpygraphviz

💡 注意:pygraphviz是需要依赖相应的系统库文件的,除了pip install pygraphviz外,还需安装 Graphviz 软件(如 macOS 用brew install graphviz,Ubuntu 用apt install graphviz)。


流程图生成

构建 LangChain Agent

这里先构建一个简单的 agent 用于后续流程图生成

fromlangchain.toolsimporttoolfromlangchain.agentsimportcreate_agentfromlangchain_openaiimportChatOpenAI@tooldefsearch(query:str)->str:"""Search for information."""returnf"Results for:{query}"@tooldefget_weather(location:str)->str:"""Get weather information for a location."""returnf"Weather in{location}: Sunny, 72°F"model=ChatOpenAI(model="gpt-4o-mini")agent=create_agent(model,tools=[search,get_weather])

获取 Agent 对应的图对象

graph=agent.get_graph()

四种可视化输出方式

方式一:保存为 PNG(使用 Mermaid,在线渲染)
# 保存为 PNG 文件(需联网)withopen("agent_flow.png","wb")asf:f.write(graph.draw_mermaid_png())

输出图片显示如下:

🔒 如果你在内网环境,可改用draw_mermaid()获取 Mermaid 代码,再用本地 Mermaid Live Editor 渲染。

方式二:获取 Mermaid 代码(纯文本,适合嵌入文档)
mermaid_code=graph.draw_mermaid()print(mermaid_code)

输出示例:

--- config: flowchart: curve: linear --- graph TD; __start__([<p>__start__</p>]):::first model(model) tools(tools) __end__([<p>__end__</p>]):::last __start__ --> model; model -.-> __end__; model -.-> tools; tools -.-> model; classDef default fill:#f2f0ff,line-height:1.2 classDef first fill-opacity:0 classDef last fill:#bfb6fc

Markdown 渲染如下:

__start__

model
tools

__end__

生成的 mermaid 代码可直接粘贴到支持 Mermaid 的平台(如 Typora、Obsidian、GitHub README、Notion 等)。

方式三:使用 Graphviz(传统方式,需本地安装)
# 保存为 PNG(需系统安装 graphviz)graph.draw_png("flow.png")# 需 pygraphviz 和系统软件 graphviz 支持

输出图片显示如下:

方式四:打印 ASCII 流程(简单调试)
graph.print_ascii()
+-----------+ | __start__ | +-----------+ * * * +-------+ | model | +-------+. . . .. .. . . +---------+ +-------+ | __end__ | | tools | +---------+ +-------+

🎯 实际项目建议

  • 开发调试:用print(agent.get_graph().draw_mermaid())agent.get_graph.print_ascii()快速查看结构。
  • 文档集成:将 Mermaid 代码嵌入 Markdown,自动渲染流程图。
  • 生产展示:调用draw_mermaid_png()生成图片存入报告或前端展示。

🔗 参考资料

  • LangGraph 官方文档:https://langchain-ai.github.io/langgraph/
  • Mermaid 流程图语法:https://mermaid.js.org/syntax/flowchart.html
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:07:47

LeetCode 3433.统计用户被提及情况:(大)模拟

【LetMeFly】3433.统计用户被提及情况&#xff1a;&#xff08;大&#xff09;模拟 力扣题目链接&#xff1a;https://leetcode.cn/problems/count-mentions-per-user/ 给你一个整数 numberOfUsers 表示用户总数&#xff0c;另有一个大小为 n x 3 的数组 events 。 每个 eve…

作者头像 李华
网站建设 2026/4/16 16:48:56

把 GPT-4o 装进口袋却不联网?这家公司造出了 300 克的“AI 核弹”,硅谷云巨头今夜无眠

这是一场对物理定律和商业模式的双重宣战。 请看一眼本文开头的这张图片。 左边那个黑色的小盒子,看起来像什么?一个稍微厚一点的充电宝?一个不起眼的移动硬盘?右边是一台 iPhone 15 Pro,作为早已被我们习以为常的“现代科技巅峰”的参照物。 此时此刻,你的手机也许正…

作者头像 李华
网站建设 2026/4/16 16:46:54

SpringBoot 集成远程 Redis 连接失败:自动配置与依赖排查实战

本文的核心读者是 SpringBoot 初学者、后端开发工程师&#xff0c;以及在项目中遇到 “配置远程 Redis 后仍连接 localhost” 问题的技术人员。将为你解决以下实际问题&#xff1a; 明明配置了 spring.redis.host 远程地址&#xff0c;项目却始终使用默认 localhost:6379 连接…

作者头像 李华
网站建设 2026/4/16 13:33:26

15、嵌入式系统中的设备驱动、多线程调试与网络编程

嵌入式系统中的设备驱动、多线程调试与网络编程 1. 设备驱动介绍 在特定应用中,Linux 内核提供了三个设备驱动来访问相关的外围设备,具体如下: | 设备驱动 | 功能描述 | | ---- | ---- | | /dev/adc | read() 函数返回通道 0 的数字文本字符串 | | /dev/leds | …

作者头像 李华
网站建设 2026/4/15 14:52:53

如何快速修复MPV在Mac上的色彩失真:4步完整指南

如何快速修复MPV在Mac上的色彩失真&#xff1a;4步完整指南 【免费下载链接】mpv &#x1f3a5; Command line video player 项目地址: https://gitcode.com/GitHub_Trending/mp/mpv 当你在Mac上使用MPV播放高清视频时&#xff0c;是否遇到过画面偏绿、细节模糊或HDR效果…

作者头像 李华
网站建设 2026/4/16 10:40:16

22、嵌入式系统开发:BusyBox、显示设置与U-Boot配置

嵌入式系统开发:BusyBox、显示设置与U-Boot配置 1. BusyBox的使用 BusyBox 可执行文件通常安装在 /bin 目录,这里也是大多数用户级命令行实用程序所在之处。为了让 BusyBox 能模拟不同命令,我们可以创建符号链接。例如,在 /bin 目录下创建如下符号链接: ln -s bus…

作者头像 李华