news 2026/9/3 1:36:10

将你的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/9/2 18:41:08

readme_revenge 34C3 2017 CTF pwn学习House of Husk

参考学习&#xff1a; https://www.anquanke.com/post/id/202387#h2-0 前置知识 这种攻击方式主要是利用了printf的一个调用链&#xff0c;应用场景是只能分配较大chunk时(超过fastbin)&#xff0c;存在或可以构造出UAF漏洞。 在使用printf类格式化字符串函数进行输出的时候&am…

作者头像 李华
网站建设 2026/9/2 9:17:05

21、Linux内核模块、设备驱动与BusyBox使用指南

Linux内核模块、设备驱动与BusyBox使用指南 1. 设备中断线探测 内核提供了一对函数来帮助确定设备连接到哪个中断线,这在 kernel_probe() 函数(从第276行开始)中有说明: - probe_irq_on() :返回当前未分配中断的位掩码。该函数保存返回值,然后安排设备生成一个中断…

作者头像 李华
网站建设 2026/9/2 21:36:09

24、嵌入式 Linux 开发:工具与环境全解析

嵌入式 Linux 开发:工具与环境全解析 1. 命令行与 GUI 的偏好 在编程领域,对于命令行编程和图形用户界面(GUI)编程,不同的人有不同的偏好。有人对 DOS 系统十分熟悉,甚至在更早的时候就钻研过 RT - 11、RSX - 11 和 VMS 系统,这表明他们对命令行编程并不陌生。在 Wind…

作者头像 李华
网站建设 2026/9/2 23:01:30

为什么浏览器能看懂网页代码?——从HTML到渲染引擎的奇幻之旅

&#x1f310; 为什么浏览器能看懂网页代码&#xff1f;——从HTML到渲染引擎的奇幻之旅 &#x1f4bb;欢迎大家来到今日份的无限大博客&#xff0c;今天又又又又是一期计算机十万个为什么系列的文章 让我来带领你开启今日份的学习吧当你在浏览器地址栏输入 https://www.baidu.…

作者头像 李华