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

🔗 参考资料

相关推荐
Lian_Ge_Blog21 小时前
微调方法学习总结(万字长文!)
人工智能·深度学习
水月wwww21 小时前
【深度学习】循环神经网络实现文本预测生成
人工智能·rnn·深度学习·gru·lstm·循环神经网络·文本续写
ASD123asfadxv21 小时前
齿轮端面缺陷检测与分类_DINO-4Scale实现与训练_1
人工智能·分类·数据挖掘
北冥有一鲲21 小时前
A2A协议与LangChain.js实战:构建微型软件工厂
开发语言·javascript·langchain
汗流浃背了吧,老弟!21 小时前
SFT(监督式微调)
人工智能
zl_vslam21 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor位姿图优化(十三)
人工智能·算法·计算机视觉·3d
Xy-unu1 天前
Analog optical computer for AI inference and combinatorial optimization
论文阅读·人工智能
小马过河R1 天前
混元世界模型1.5架构原理初探
人工智能·语言模型·架构·nlp
三万棵雪松1 天前
【AI小智后端部分(一)】
人工智能·python·ai小智