LangGraph Studio,使用LangChain高效可视化和测试AI智能体

大家好,LangGraph Studio是专为LangChain框架的AI智能体提供可视化、测试和调试支持的集成开发环境(IDE)。本文将介绍LangGraph Studio的各项特性,分析如何让开发流程更加流畅,以及它为何成为开发者打造灵活智能系统的得力助手。

1.LangGraph Studio

LangGraph Studio是集成开发环境(IDE),专为支持基于LangChain构建的项目中的AI智能体创建和测试而开发。它提供了可视化界面,用户可以设计智能体工作流,使用节点和边来清晰地展示任务及其相互关系。

此外,LangGraph Studio还支持实时监控智能体的行为,并提供调试工具。它通过图形化的方式简化了复杂流程的管理,在监控状态、测试智能体方面,比传统的纯代码环境更加高效。

图片

LangGraph Studio IDE

2.安装LangGraph Studio

LangGraph Studio可作为桌面应用程序使用,目前支持Apple Silicon设备。只需几步,就能轻松上手:

  • 访问LangGraph Studio的官方GitHub页面(https://github.com/langchain-ai/langgraph-studio?ref=blog.langchain.dev),下载应用程序。

  • 安装后,使用你的LangSmith账号登录即可开始使用。如果没有账号,可以免费注册一个。

  • 目前,无论是哪种类型的LangSmith用户,都有机会在测试阶段体验LangGraph Studio的全部功能。

还有一点需要注意,LangGraph Studio需要你的系统上安装了Docker Engine和Docker Compose,版本至少为2.22.0。目前支持的运行环境包括Docker Desktop和Orbstack。所以在启动LangGraph Studio之前,请确保已经安装并运行了这些环境之一。

虽然目前LangGraph Studio只支持Apple Silicon,但更多平台的支持已经在计划之中。

3.设置LangGraph项目

要充分有效地使用LangGraph Studio,需要正确设置LangGraph项目,下面将介绍如何配置项目、指定依赖项、创建智能体并准备必要的配置文件。

3.1 创建项目目录

首先创建必要的项目结构。在这个例子中,将目录命名为agent-solarpanels-tutorial。

agent-solarpanels-tutorial/
├── .env
├── agent.py
├── requirements.txt
└── langgraph.json
  • agent.py:此文件将定义你的LangGraph智能体。

  • requirements.txt:此文件列出了项目依赖项。

  • langgraph.json:这是定义依赖项、环境变量和LangGraph智能体路径的配置文件。

  • .env:环境变量文件。

3.2 定义依赖项

requirements.txt文件中,列出LangGraph智能体所需的依赖项。以下是太阳能板AI智能体所需的依赖项:

langgraph
langchain_anthropic
tavily-python
langchain_community
langchain_aws
3.3 设置环境变量

如果LangGraph AI智能体需要特定的环境变量,例如API密钥或端点,可以在.env文件中进行定义。对于太阳能板AI智能体,需要以下变量:

TAVILY_API_KEY = ""
LANGCHAIN_TRACING_V2 = "true"
LANGCHAIN_ENDPOINT = "https://api.smith.langchain.com"
LANGCHAIN_API_KEY = ""
LANGCHAIN_PROJECT = "agent-solarpanels-tutorial"
AWS_ACCESS_KEY_ID = ""
AWS_SECRET_ACCESS_KEY = ""
AWS_REGION = "us-east-1"
3.4 配置langgraph.json

langgraph.json文件非常重要,因为它告知LangGraph Studio有关智能体的依赖项、环境变量和智能体编译图的位置。此配置文件允许LangGraph Studio正确加载和运行智能体。

下面是一个示例langgraph.json文件:

{
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "env": ".env",
  "python_version": "3.11",
  "dependencies": [
    "."
  ]
}
3.5 导入智能体

接下来,在agent.py文件中实现LangGraph智能体,此文件定义了图的节点、边和工作流。

一切准备就绪后,接下来就是将智能体导入LangGraph Studio,请按以下步骤操作:

  • 确保Docker运行中:在开始之前,请检查计算机上是否已安装并启动了Docker。

  • 启动LangGraph Studio:打开LangGraph Studio,系统会提示使用LangSmith账户登录。如果尚未注册,可以立即免费创建一个账户。

  • 导入项目:登录后,选择“加载现有项目”选项。找到项目目录(例如:agent-solarpanels-tutorial),该目录应包含langgraph.json配置文件。

完成以上步骤,LangGraph Studio将自动加载智能体。如果配置无误,将看到智能体的可视化界面。遇到任何问题,可以查看LangGraph Studio的日志,以帮助诊断和解决。

4.如何使用LangGraph Studio

4.1 发送新消息

要启动AI智能体,首先在界面左上角的下拉菜单中选择需要的图。在输入区域选择“消息”,输入你的问题或者指令,点击“提交”按钮来激活图,智能体的回应将会在界面右侧显示。

图片

4.2 管理线程

每次激活图时,LangGraph Studio会自动为会话创建一个新的线程,可以利用右侧窗格左上角的下拉菜单来切换和管理多个线程。如果需要开启新的线程,点击“+”按钮即可打开新的线程窗口,这样就可以在独立的会话中工作,而不会影响到其他线程。

4.3 消息选项

在每条消息下方,会发现多个操作选项:

  • 查看输出:显示消息ID的详细信息。

  • 编辑:允许对线程进行编辑(详见下文)。

  • 重新运行:在代码更改后,允许重新执行步骤(详见下文)。

  • 在LangSmith中运行。

  • 查看token使用情况。

  • 查看延迟信息。

    图片

4.4 编辑线程

LangGraph Studio还允许修改线程的状态,并可以分叉出基于更新状态的新图执行。要编辑线程,首先选择想要修改的线程,然后在右侧窗格中,将鼠标悬停在希望更改的特定步骤上,点击铅笔图标即可开始编辑。编辑完成后,点击“分叉”来更新线程并生成新的图执行,这样就可以尝试不同的结果或场景。

图片

4.5 暂停执行:中断图

在LangGraph Studio中,可以通过添加中断点来控制图的执行流程。可以在特定节点前后暂停执行,便于监控智能体的行为或排查问题。

设置中断点很简单,只需在左侧窗格的下拉菜单中选择“中断”,然后指定想要暂停的节点。

图片

4.6 代码调整:编辑图代码

执行流程控制后,如需修改图的代码,LangGraph Studio支持直接编辑并在VS Code中保存。更改后,LangGraph Studio会自动更新图。

要编辑代码,点击界面右下角的“在VS Code中打开”按钮。修改agent.py文件后保存,LangGraph Studio会实时应用这些更改。

若要测试修改效果,可以重放图中的特定节点。这有助于快速迭代智能体的行为,特别是在处理复杂图时。

图片

LangGraph Studio为使用LangChain开发和测试AI智能体提供了一个高效解决方案。它结合了直观的可视化工具和实时代码编辑功能,让智能体的开发和调试变得轻松便捷,可以轻松控制图的执行流程,调整智能体逻辑,并即时查看效果。对于构建复杂AI智能体,LangGraph Studio大大简化了原本在代码层面可能遇到的复杂任务。

### LangGraph 的概念与特性 LangGraph 是一种扩展了 LangChain 功能的框架,专注于利用大语言模型(LLMs)来构建具有复杂逻辑的应用程序[^1]。它的设计目标是解决传统基于 DAG(有向无环图)的工作流所无法实现的功能需求,特别是在需要循环处理状态管理的情况下。 #### 核心特点 LangGraph 提供的核心能力包括但不限于以下几个方面: - **循环支持**:不同于传统的 DAG 结构仅允许单次前向传递的任务调度方式,LangGraph 支持复杂的循环结构,从而能够适应更广泛的场景需求,例如对话系统的持续交互过程[^3]。 - **细粒度控制**:作为一款底层框架,开发者可以精确地定义并调整应用内的每一个环节及其运行条件,这种灵活性对于确保代理行为的一致性可靠性尤为重要。 - **持久化机制**:内置的记忆存储方案让长期会话管理人工介入变得可行,进一步增强了用户体验的同时也简化了维护成本。 此外,借助可视化调试平台——LangGraph Studio,用户能够在图形界面下轻松完成原型搭建、参数调节乃至错误排查等一系列操作,极大地降低了技术门槛并提高了工作效率[^2]。 ### 在 LLM 应用开发中的角色定位 当谈及到如何促进大型预训练模型的实际落地时,LangGraph 显得尤为突出。它不仅继承了来自 LangChain 的诸多优秀特质,还针对特定领域进行了针对性优化改进,使之更适合承担起诸如聊天机器人定制化服务提供者这样的重任。 具体而言,在以下几类典型项目里可以看到 LangGraph 发挥重要作用的身影: - 多轮对话管理系统; - 自动问答引擎建设; - 游戏NPC智能化改造工程等等。 这些案例均依赖于强大的后台算法支撑才能达成预期效果,而 LangGraph 正好满足这一系列苛刻的要求组合在一起形成的整体解决方案包。 ```python from langgraph import Graph, Node # 创建一个简单的节点实例 node_example = Node( id="example_node", function=lambda input_data: f"Processed {input_data}", ) # 初始化图表对象并将上述节点加入其中 graph_instance = Graph() graph_instance.add_node(node_example) ``` 以上代码片段展示了如何使用 Python 来初始化 LangGraph 中的基本组件之一 —— 节点 (Node),并通过将其添加至更大的网络结构(Graph)当中去初步建立起整个系统的基础骨架雏形。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python慕遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值