将你的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() 生成图片存入报告或前端展示。

🔗 参考资料

相关推荐
&星痕&1 天前
人工智能:深度学习:0.pytorch安装
人工智能·python·深度学习
AI猫站长1 天前
快讯|清华&上海期智研究院开源Project-Instinct框架,攻克机器人“感知-运动”割裂核心难题;灵心巧手入选毕马威中国“第二届智能制造科技50”榜单
人工智能·机器人·苹果·具身智能·project·灵心巧手
铁手飞鹰1 天前
[深度学习]常用的库与操作
人工智能·pytorch·python·深度学习·numpy·scikit-learn·matplotlib
power 雀儿1 天前
前馈网络+层归一化
人工智能·算法
数研小生1 天前
用爬虫数据训练 ChatGPT 行业知识库:从数据采集到模型微调的实战指南
人工智能·爬虫·chatgpt
Guheyunyi1 天前
什么是安全监测预警系统?应用场景有哪些?
大数据·运维·人工智能·安全·音视频
清 晨1 天前
AI 代理购物把“流量”变成“答案”,而“可信交付”决定你能不能被选中
大数据·人工智能·跨境电商·跨境·营销策略
Funny_AI_LAB1 天前
GLM-OCR发布:性能SOTA,超越PaddleOCR-VL-1.5?
人工智能·计算机视觉·语言模型·ocr
m0_603888711 天前
Language Models Struggle to Use Representations Learned In-Context
人工智能·ai·语言模型·自然语言处理·论文速览
青春不朽5121 天前
PyTorch 入门指南:深度学习的瑞士军刀
人工智能·pytorch·深度学习