来源:互联网 更新时间:2026-08-04 14:14
可视化是个好东西——尤其当你的 LangGraph 结构越来越复杂的时候,能一眼看清节点与边的走向,简直是调试和优化的利器。今天我们就来聊聊如何用一行代码让 LangGraph 结构变得直观可见,操作简单到让你有点意外。

没错,一行代码就能搞定,真的就这么简单。
先上完整代码,跑通了再慢慢聊细节。
from langchain_openai import ChatOpenAI from langchain_community.tools.ta vily_search import Ta vilySearchResults from langgraph.prebuilt import chat_agent_executor from langchain_core.messages import HumanMessage tools = [Ta vilySearchResults(max_results=1)] model = ChatOpenAI() app = chat_agent_executor.create_function_calling_executor(model, tools) app.get_graph().print_ascii()
运行的时候可能会遇到一个报错,提示找不到 grandalf 模块。解决办法很简单:装一下 grandalf 就好了。
pip install -U grandalf -i https://pypi.tuna.tsinghua.edu.cn/simple
执行之后,你会看到终端里打印出一个 ASCII 图形,节点和边清晰可见。对比之前手绘的图,结构完全一致。
可以看到它可视化的图与上篇文章我自己画的图一样:
整个代码的核心其实只有两行有效代码:
app = chat_agent_executor.create_function_calling_executor(model, tools),这一步实际上就是封装了我们之前手动构建 LangGraph 的过程。
app.get_graph().print_ascii(),以 ASCII 字符的形式把图的结构打印出来。
create_function_calling_executor这个函数其实就是把我们上一篇文章中手动实现 LangGraph 创建的那套逻辑打包了。下面是它的源码(简化版):
# 源码略,实际就是将 StateGraph 的创建和边、节点的配置封装在一起
print_ascii从运行结果看,它做的事情无非是把节点和边的信息用空格和星号组织起来,输出一个美观的 ASCII 图。原理并不复杂,但想要把间距、对齐排版得刚刚好,确实需要一些精细的功夫。下面是部分源码,了解即可,会用就行:
def draw_ascii(self) -> str:
return draw_ascii(
{node.id: node_data_str(node) for node in self.nodes.values()},
[(edge.source, edge.target) for edge in self.edges],
)
def print_ascii(self) -> None:
print(self.draw_ascii())
def draw_ascii(vertices: Mapping[str, str], edges: Sequence[Tuple[str, str]]) -> str:
"""Build a DAG and draw it in ASCII.
...
"""
除了 ASCII 形式,LangGraph 还提供了另一种更直观的可视化方式——直接生成 PNG 图片。结果如下图所示:
代码同样简单,只需要把 print_ascii() 换成下面这两行:
# app.get_graph().print_ascii() # 替换掉这一句 from IPython.display import Image Image(app.get_graph().draw_png())
运行之前需要先安装一些依赖库:
pip install -U prompt_toolkit -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -U grandalf -i https://pypi.tuna.tsinghua.edu.cn/simple
安装过程可能会遇到“ERROR: Could not build wheels for pygraphviz”这样的问题。别担心,这是 Windows 平台下的常见情况,网上有很多解决方案,值得留意的是需要提前安装 Graphviz 的二进制包。
这篇文章介绍了两种让 LangGraph 结构可视化的方法,都是一行代码就能解决的事:
app.get_graph().print_ascii()
或者
Image(app.get_graph().draw_png())
其中 app 就是你用 workflow.compile() 编译之后得到的那张图:
workflow = StateGraph(AgentState) ... app = workflow.compile()
可视化后,无论是调试逻辑还是向别人解释你的 Agent 架构,都会清晰很多。
Ondo将于今日上线股票永续合约
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
晶核艾尔莎角色盘点 晶核艾尔莎强度分析与实战表现
区块链OTC交易所有哪几家比较正规?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
AMD英特尔集体失眠!英伟达Rosa CPU搭载Rigel核:单核性能碾压x86
遗忘之海密室通关教程 遗忘之海密室全关卡解谜思路与难点解析
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
异环伊洛伊阵容怎么搭配
新破天一剑太极刀任务攻略 破天一剑怎么取太极刀
潜水员戴夫丛林DLC接吻的鱼任务攻略
五千元以下的笔记本几乎消失!经销商:至少一年看不到涨价尽头
Windows环境下Claude Code从C盘迁移至D盘的完整操作教程
华为Mate 70系列首发的红枫镜头下放至千元档:全员普及原色影像
币安投票上币与下币机制解析:买票争议与规则边界
合集38个项目筹集5.406亿美元 Figure融资2亿
蚂蚁庄园今日答案最新2026.7.5
微软Copilot AI漏洞可致敏感数据泄露,企业用户需及时更新
《探索流放之路物品等级的奥秘》 揭秘物品等级的效果和怎么查看
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc