【AI Agent系列】【LangGraph】3. 一行代码让你的 LangGraph 结构可视化!

简介: 【AI Agent系列】【LangGraph】3. 一行代码让你的 LangGraph 结构可视化!
  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:


可视化是个非常非常非常有用和友好的东西。本文我们来实现 LangGraph 结构的可视化,当你创建的 LangGraph 结构越来越复杂时,可以利用它来方便地调查和优化逻辑。

一行代码即可搞定,非常简单。

0. 示例Demo

0.1 完整代码

先上完整代码,跑通再说

from langchain_openai import ChatOpenAI
from langchain_community.tools.tavily_search import TavilySearchResults
from langgraph.prebuilt import chat_agent_executor
from langchain_core.messages import HumanMessage
tools = [TavilySearchResults(max_results=1)]
model = ChatOpenAI()
app = chat_agent_executor.create_function_calling_executor(model, tools)
app.get_graph().print_ascii()

0.2 踩坑:No module named ‘grandalf’

运行时遇到问题:

安装 grandalf 即可:

pip install -U grandalf -i https://pypi.tuna.tsinghua.edu.cn/simple

0.3 运行结果

可以看到它可视化的图与上篇文章我自己画的图一样:

1. 代码详解

代码很简单,就两行有效代码:

(1)app = chat_agent_executor.create_function_calling_executor(model, tools),创建一个 Graph。

(2)app.get_graph().print_ascii(),以 ASCII 的形式打印出图形。

1.1 create_function_calling_executor

这个其实就是将我们上篇文章实现的 LangGraph 创建的过程做了一下封装而已,源码如下:

1.2 print_ascii

从运行结果来看,它最终实现的效果其实就是将节点和边打印出来,多了一些空格和星号。实现原理并不难,但是想要组织好这个这个显示的效果(空格和星号的数量等),感觉很难。部分源码如下,看看就好,会用就行:

def draw_ascii(self) -> str:
    return draw_ascii(
        {node.id: node_data_str(node) for node in self.nodes.values()},
        [(edge.source, edge.target) for edge in self.edges],
    )
def print_ascii(self) -> None:
    print(self.draw_ascii())  # noqa: T201
def draw_ascii(vertices: Mapping[str, str], edges: Sequence[Tuple[str, str]]) -> str:
    """Build a DAG and draw it in ASCII.
    Args:
        vertices (list): list of graph vertices.
        edges (list): list of graph edges.
    Returns:
        str: ASCII representation
    Example:
        >>> from dvc.dagascii import draw
        >>> vertices = [1, 2, 3, 4]
        >>> edges = [(1, 2), (2, 3), (2, 4), (1, 4)]
        >>> print(draw(vertices, edges))
        +---+     +---+
        | 3 |     | 4 |
        +---+    *+---+
          *    **   *
          *  **     *
          * *       *
        +---+       *
        | 2 |      *
        +---+     *
             *    *
              *  *
               **
             +---+
             | 1 |
             +---+
    """

2. 更好看一点的可视化

教程中还写了另一种可视化的方式,结果如下:

代码如下:

# app.get_graph().print_ascii() ## 替换掉这一句
from IPython.display import Image
Image(app.get_graph().draw_png())

运行前需要先安装如下依赖库

pip install -U prompt_toolkit  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -U grandalf -i https://pypi.tuna.tsinghua.edu.cn/simple

安装过程中你可能会遇到如下问题:ERROR: Could not build wheels for pygraphviz, which is required to install pyproject.toml-based projects

Windows平台的解决方法可参考这篇文章:https://savleen307.medium.com/pygraphviz-installation-in-windows-f45cc6fed981

3. 总结

本文介绍了两种将 LangGraph 可视化的方法,一行代码就可以搞定:

app.get_graph().print_ascii()

Image(app.get_graph().draw_png())

其中 app 是你构建的 LangGraph:

workflow = StateGraph(AgentState)
......
app = workflow.compile()

4. 参考

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是 同学小张,日常分享AI知识和实战案例
  • 欢迎 点赞 + 关注 👏,持续学习持续干货输出
  • +v: jasper_8017 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏

本站文章一览:

相关文章
|
27天前
|
人工智能 数据可视化 定位技术
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
322 39
|
21天前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
56 3
|
12天前
|
人工智能 测试技术 开发工具
如何将 AI 代码采纳率从30%提升到80%?
AI编码采纳率低的根本原因在于人类期望其独立完成模糊需求,本文提出了解决之道,讲解如何通过结构化文档和任务拆解提高AI的基础可靠性。
|
29天前
|
存储 人工智能 测试技术
手把手带你入门AI智能体:从核心概念到第一个能跑的Agent
AI智能体是一种能感知环境、自主决策并执行任务的人工智能系统。它不仅能生成回应,还可通过工具使用、计划制定和记忆管理完成复杂工作,如自动化测试、脚本编写、缺陷分析等。核心包括大语言模型(LLM)、任务规划、工具调用和记忆系统。通过实践可逐步构建高效智能体,提升软件测试效率与质量。
|
18天前
|
人工智能 IDE 开发工具
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
CodeGPT是一款基于AI的编程辅助插件,支持代码生成、优化、错误分析和单元测试,兼容多种大模型如Gemini 2.0和Qwen2.5 Coder。免费开放,适配PyCharm等IDE,助力开发者提升效率,新手友好,老手提效利器。(238字)
140 1
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
|
10天前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
136 7
|
12天前
|
人工智能 搜索推荐 开发工具
私域知识工程实战:如何让AI一次性写出高质量代码?
AI编程的瓶颈不在于模型不够聪明,而在于信息不对称。通过简单、快速构建私域知识工程体系 ,让AI从 "临时工" 变成真正懂业务的 "老司机" 。
|
13天前
|
存储 人工智能 数据可视化
企业级 AI 模型无代码落地指南:基于阿里云工具链,从 0 到 1 实现业务价值
某汽车零部件厂商通过阿里云PAI、OSS等工具,实现无代码AI质检落地:仅用控制台操作完成数据治理到部署,质检效率提升3倍,模型周期从2月缩至2周。本文详解全栈可视化方案,助力企业零代码落地AI。
111 1
|
21天前
|
机器学习/深度学习 人工智能 小程序
RL 和 Memory 驱动的 Personal Agent,实测 Macaron AI
人工智能不仅提升生产力,也重塑人际关系。Macaron AI 探索“哆啦A梦关系”,融合实用与情感,通过长期记忆和强化学习技术,实现深度个性化陪伴,开创人机互动新方式。

热门文章

最新文章