将你的LangChian Agent可视化

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


✅ 前提条件

确保已安装以下依赖:

bash 复制代码
pip install langgraph langchain langchain-openai  # 或其他 LLM provider
pip install pygraphviz

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


流程图生成

构建 LangChain Agent

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

python 复制代码
from langchain.tools import tool
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI


@tool
def search(query: str) -> str:
    """Search for information."""
    return f"Results for: {query}"

@tool
def get_weather(location: str) -> str:
    """Get weather information for a location."""
    return f"Weather in {location}: Sunny, 72°F"


model = ChatOpenAI(model="gpt-4o-mini")
agent = create_agent(model, tools=[search, get_weather])

获取 Agent 对应的图对象

python 复制代码
graph = agent.get_graph()

四种可视化输出方式

方式一:保存为 PNG(使用 Mermaid,在线渲染)
python 复制代码
# 保存为 PNG 文件(需联网)
with open("agent_flow.png", "wb") as f:
    f.write(graph.draw_mermaid_png())

输出图片显示如下:

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

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

输出示例:

plain_text 复制代码
---
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(传统方式,需本地安装)
python 复制代码
# 保存为 PNG(需系统安装 graphviz)
graph.draw_png("flow.png")  # 需 pygraphviz 和系统软件 graphviz 支持

输出图片显示如下:

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

🎯 实际项目建议

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

🔗 参考资料

相关推荐
海浪仙人掌4 分钟前
应收账款分析如何操作?应收账款分析有哪些注意事项?
数据库·人工智能
东方佑5 分钟前
元可塑性循环单元(Meta-RU)与 GRU 的对比研究与混合设计
人工智能·深度学习·gru
Elastic 中国社区官方博客8 分钟前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
LlmCraft|大模型工程实践9 分钟前
08 预训练语言模型:BERT 与 GPT
人工智能·深度学习·nlp
feasibility.14 分钟前
ABot-World-0:当一块 RTX 5090 能编织无限世界——交互式世界模型的高德解法
人工智能·aigc·视频·地图·具身智能·英伟达·世界模型
leoZ23117 分钟前
第 6 篇:SchemaForm 渲染器核心实现
前端·javascript·vue.js·人工智能·神经网络·机器学习·自然语言处理
故七月18 分钟前
优胜劣汰·动态赋能——锦邻创享OPC社区的考核管理与退出机制
大数据·人工智能
枫叶林FYL28 分钟前
【群体智能集群控制工程实践】第10章 无人舰队核心功能实现
大数据·人工智能·算法
昵称画41 分钟前
POC验证怎么设计用例?不走过程的实操要点
大数据·数据库·人工智能·低代码·excel
2601_9672127243 分钟前
新一代电源轨道系统技术甄别维度与行业技术路线分析
大数据·网络·人工智能