news 2026/6/11 18:48:40

将你的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/6/11 23:33:08

SPSS——非参数检验-“二项式检验”

更多免费教程和软件 :​ 非参数检验 假设检验的方法包括参数检验和非参数检验。 参数检验 凡是以特定的总体分布为前提,对未知的总体参数做推断的假设检验方法统称为参数检验。如T检验 非参数检验 非参数检验适用的范围很广,对资料没有要求,对总体分布几乎没有什么假定,…

作者头像 李华
网站建设 2026/6/10 16:07:09

Apache Iceberg性能大揭秘:如何让你的大数据查询快如闪电?

还在为海量数据分析的查询延迟而烦恼吗&#xff1f;当你的数据仓库查询时间从秒级飙升到分钟级&#xff0c;当小文件数量爆炸式增长导致存储系统不堪重负&#xff0c;是时候认识一下Apache Iceberg这个数据湖表的革命性技术了&#xff01; 【免费下载链接】iceberg Apache Iceb…

作者头像 李华
网站建设 2026/6/10 15:26:29

19、Linux内核模块与设备驱动详解

Linux内核模块与设备驱动详解 1. 内核模块基础 1.1 模块加载与符号解析 内核模块加载时不需要 .ko 扩展名,加载后仅通过基名识别。模块通常会包含对外部符号(如 printk )的引用, insmod 会根据内核符号表解析这些外部引用,该符号表在核启动过程中加载到内存。模块…

作者头像 李华
网站建设 2026/6/10 11:26:28

如何快速掌握沉浸式翻译?5个终极技巧让阅读效率提升300%

如何快速掌握沉浸式翻译&#xff1f;5个终极技巧让阅读效率提升300% 【免费下载链接】immersive-translate 沉浸式双语网页翻译扩展 , 支持输入框翻译&#xff0c; 鼠标悬停翻译&#xff0c; PDF, Epub, 字幕文件, TXT 文件翻译 - Immersive Dual Web Page Translation Extensi…

作者头像 李华
网站建设 2026/6/11 19:22:59

69、Subversion与GNU make实用指南

Subversion与GNU make实用指南 1. Subversion管理工具概述 Subversion是一款强大的版本控制系统,拥有多种管理工具,用于不同方面的操作,如仓库管理、信息查看、远程访问等。下面将详细介绍这些工具及其用法。 2. 仓库管理工具svnadmin svnadmin是用于监控和修复Subversi…

作者头像 李华
网站建设 2026/6/10 19:20:29

Linux环境下的C语言编程(四十一)

一、队列时间复杂度分析1. 链队列时间复杂度// 链队列节点 typedef struct QueueNode {int data;struct QueueNode* next; // 额外指针开销 } QueueNode;// 链队列结构 typedef struct {QueueNode* front; // 队头指针QueueNode* rear; // 队尾指针 } LinkedQueue;入队操作…

作者头像 李华