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

🔗 参考资料

相关推荐
yiersansiwu123d2 小时前
AI重构日常生活:从无感服务到智能生态的全面进化
人工智能·重构
liguojun20252 小时前
智慧破局:重构体育场馆的运营与体验新生态
java·大数据·人工智能·物联网·重构·1024程序员节
FONE_Platform2 小时前
FONE助力中国出海企业构建稳健的跨境财税合规基础
大数据·人工智能·合并报表·全面预算
凯子坚持 c2 小时前
深度解析 MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互全流程
人工智能·mysql·交互
工藤学编程2 小时前
零基础学AI大模型之LangChain核心:Runnable接口底层实现
人工智能·langchain
21992 小时前
Embabel:JVM上的AI Agent框架深度技术分析
java·jvm·人工智能·spring·ai·开源
SelectDB技术团队2 小时前
面向 Agent 的高并发分析:Doris vs. Snowflake vs. ClickHouse
数据仓库·人工智能·科技·apache·知识图谱
风途知识百科2 小时前
化工厂防爆气象站
网络·人工智能
KKKlucifer2 小时前
2025 AI 安全攻防战:智能体崛起下的 “守护与突围
人工智能·安全