动手实践:LangChain流图可视化全解析

图片

为什么需要可视化?

LCEL的可组合模式支持组件的声明式链接
该模式使得任意Runnable都可通过管道操作符(|)和字典常量(dict)与其他Runnable组合到一起,从而通过简单的组件创建出复杂的工作流。但是不管如何组合,组合结果仍然是Runnable

当组合链变复杂时,get_graph接口生成的图结构(Graph)能清晰展示执行流的节点(nodes)和边(edges),帮助开发者:

  1. 1. 直观理解工作流逻辑
  2. 2. 快速定位性能瓶颈

 往期文章推荐:

图表征 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技术!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值