news 2026/4/18 15:16:32

将你的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/18 3:13:02

基于Springboot的二手奢侈品购物平台设计与实现【高分通过】

“下周之前把论文绪论和系统分析框架定下来&#xff0c;重点要结合实际需求&#xff0c;让技术落地有依据。” 导师的话还在耳边回响&#xff0c;我盯着电脑屏幕上空白的文档&#xff0c;指尖悬在键盘上迟迟未落。作为计算机专业的学生&#xff0c;开发类论文我写过两篇&#x…

作者头像 李华
网站建设 2026/4/18 3:18:20

React Native文件操作终极指南:RNFetchBlob完整解决方案

React Native文件操作终极指南&#xff1a;RNFetchBlob完整解决方案 【免费下载链接】rn-fetch-blob 项目地址: https://gitcode.com/gh_mirrors/rn/rn-fetch-blob 在移动应用开发中&#xff0c;文件操作是不可或缺的核心功能。无论是处理用户上传的图片、下载离线内容…

作者头像 李华
网站建设 2026/4/18 3:14:10

17、嵌入式网络协议与Linux内核构建全解析

嵌入式网络协议与Linux内核构建全解析 1. 其他应用层协议 HTTP、SMTP和POP3这三种协议在特定的嵌入式问题中十分有用。不过,还有许多其他应用层协议在不同场景下也能发挥重要作用。例如,简单网络管理协议(SNMP)已成为管理网络资源的事实上的标准机制。几乎每个连接到网络…

作者头像 李华
网站建设 2026/4/18 3:16:29

GSE宏编译器在魔兽世界经典版中的终极解决方案指南

GSE宏编译器在魔兽世界经典版中的终极解决方案指南 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test coverage and the Curse packa…

作者头像 李华
网站建设 2026/4/18 3:18:32

2015-2025年城市公共文化数字化采购数据

数据简介 在加快推进公共文化服务数字化、智能化的国家战略背景下&#xff0c;政府采购作为推动文化设施现代化转型的重要政策工具&#xff0c;正逐步从传统的设施建设与运营维护向数字化、网络化、智能化服务采购拓展。公共文化设施的数字化采购不仅提升了文化服务的覆盖范围…

作者头像 李华
网站建设 2026/4/18 3:17:27

64、并发版本系统(CVS)命令详解

并发版本系统(CVS)命令详解 1. 版本差异查看(diff) CVS 支持使用 GNU diff 程序,能全面支持行和组格式选项。以下是一个简单示例,展示了如何使用 cvs diff 查看 Makefile 当前版本与仓库版本之间的差异: $ cvs diff Makefile Index: Makefile =================…

作者头像 李华