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

🔗 参考资料

相关推荐
hpoenixf6 小时前
当每个模块都能说“不”:我们为何要收回 Agent 系统里散落的否决权
agent
dozenyaoyida7 小时前
AI与大模型新闻日报 | 2026-10-17
人工智能·ai·chatgpt·新闻
遇码7 小时前
流式调用中途断连别直接报错:瞬态故障识别、退避重试与中文根因诊断的搭建方法
大数据·人工智能·ai·rust·数据分析·大模型·agent
救救孩子把8 小时前
AI面试八股文-21_21-多模态Agent面试题-Vision-Language-Agent
人工智能·面试·职场和发展·llava·多模态agent
今年下半年8 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Jlzn88888 小时前
华东电芯分选通道数怎么配才不堵线
java·人工智能·架构·自动化·制造
u1301308 小时前
GitHub 热榜项目:日榜(2026-10-17)
人工智能·github
流烟默8 小时前
MCP第 5 篇:用 Spring AI 写 MCP:注解、自动配置、ChatClient 集成
人工智能·spring·mcp封装
康实训8 小时前
老年评估仿真实训平台架构设计与老年人能力评估实训室教学落地实践
大数据·人工智能·算法·实训室·实训室建设