动手实践:LangChain流图可视化全解析
为什么需要可视化?
LCEL的可组合模式支持组件的声明式链接
该模式使得任意Runnable
都可通过管道操作符(|
)和字典常量(dict
)与其他Runnable
组合到一起,从而通过简单的组件创建出复杂的工作流。但是不管如何组合,组合结果仍然是Runnable
。
当组合链变复杂时,get_graph
接口生成的图结构(Graph)能清晰展示执行流的节点(nodes)和边(edges),帮助开发者:
- 1. 直观理解工作流逻辑
- 2. 快速定位性能瓶颈
往期文章推荐:
- 20.Python3安装MySQL-python踩坑实录:从报错到完美解决的实战指南
- 19.Git可视化革命:3分钟学会用Mermaid+AI画专业分支图
- 18.vscode常用快捷命令和插件
- 17.AI制图新纪元:3分钟用Mermaid画出专业类图
- 16.3分钟搞定数据可视化:Mermaid饼图终极指南
- 15.5分钟玩转Swagger UI:Docker部署+静态化实战
- 14.记录下blog的成长过程
- 13.再说一说LangChain Runnable接口
- 12.Docker实战:5分钟搞定MySQL容器化部署与最佳实践
- 11.Ollama模板全解析:从基础语法到高级应用实战
- 10.Ollama完全指南:从零开始玩转本地大模型部署
- 9.django中如何解析content-type=application/json的请求
- 8.实测DeepSeek分词机制:你的输入如何变成计费Token?
- 7.英语分词进化论:BPE相关论文汇总
- 6.硬核实战 | 3分钟Docker部署ClickHouse列存数据库
- 5.技术深解 | DeepSeek-R1-0528训练参数全透视:163K上下文与MoE高效架构的基石
- 4.DeepSeek最新升级实测:推理能力翻倍,但离世界顶尖还有多远?
- 3.血泪教训!Redis默认配置竟会导致数据丢失?Docker生产部署指南
- 2.Function Call:大模型如何突破自身局限“使用工具“
- 1.DeepSeek动手实践:创建一个自动连点器
图表征 Graph Representation
通过get_graph
接口可以查看通过各种组合构建的Runnable
的执行流的结构。该结构表示为一张图Graph
,主要属性就是节点nodes
和边edges
。
该Graph
有多种可视化方法。可以用来可视化执行流的结构、调试或分析Runnable
组合的复杂的执行流,能够帮助理解该执行流和识别该LCEL组合的执行流的瓶颈。
- •
to_json()
- 生成json表示 - •
draw_ascii()
- 以ascii码艺术字符串的方式可视化(主要在终端显示)(依赖包grandalf
) - •
draw_mermaid()
- 以mermaid格式的字符串可视化 - •
draw_mermaid_png()
- 以mermaid格式的字符串可视化为png图片,默认通过API渲染图片(需要联网(mermaid.ink)),可设置draw_method=MermaidDrawMethod.PYPPETEER
(依赖pyppeteer
和chromium(需要访问https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/1181205/chrome-win.zip)) - •
draw_png()
- 生成png格式的图片(依赖包pygraphviz
和本地安装graphviz
)
可视化
基本可组合示例
Ascii码可视化
+-------------+| LambdaInput |+-------------+***+--------+| Lambda |+--------+***
+----------------------------+
| Parallel<mul_2,mul_5>Input |
+----------------------------+** **** *** *
+--------+ +--------+
| Lambda | | Lambda |
+--------+ +--------+** **** *** *
+-----------------------------+
| Parallel<mul_2,mul_5>Output |
+-----------------------------+
Mermaid可视化
Reference
- • https://deepwiki.com/langchain-ai/langchain/2-core-architecture
- • https://deepwiki.com/langchain-ai/langchain/2.2-runnable-interface-and-lcel
本文由「大千AI助手」原创发布,专注用真话讲AI,回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我,一起撕掉过度包装,学习真实的AI技术!