LangGraph Studio:使用LangChain可视化和测试AI代理

2024年09月24日 由 alex 发表 53 0

简介

在这篇文章中,我们探讨了如何创建能够管理复杂、多步骤任务的智能、适应性强的人工智能系统。我们使用节点来表示单个操作或计算,用边将它们连接起来以控制决策流,并依靠状态在整个交互过程中保持上下文。这样,我们就能构建一个人工智能代理,计算太阳能电池板的潜在节能效果,展示 LangGraph 如何帮助开发人员创建能动态响应用户输入的真实世界应用程序。


今天,我想更进一步,介绍一款新工具,它能让人工智能代理开发更高效: LangGraph Studio。这是第一个集成开发环境(IDE),专门用于可视化、测试和调试基于 LangChain 的人工智能代理。在这篇文章中,我们将深入介绍 LangGraph Studio 的功能、它是如何简化开发流程的,以及为什么它是希望轻松创建智能、适应性强的系统的开发人员的必备工具。


什么是 LangGraph Studio?

LangGraph Studio 是一个集成开发环境(IDE),用于支持人工智能代理的创建和测试,特别适用于使用 LangChain 构建的项目。它提供了一个可视化界面,用户可以使用节点和边设计代理工作流,节点和边代表任务和任务之间的连接。该工具还允许对代理行为进行实时可视化,并提供调试功能。通过提供复杂流程的图形表示,LangGraph Studio 旨在帮助开发人员管理多步骤任务、监控状态,并比在纯粹基于代码的环境中更有效地测试人工智能代理。


1


如何安装 LangGraph Studio?

LangGraph Studio是一款桌面应用程序,目前支持苹果Silicon设备。要开始使用,你可以从 LangGraph Studio 官方 GitHub 页面下载应用程序。下载完成后,只需打开应用程序并使用你的 LangSmith 账户登录即可。如果你还没有账户,可以免费创建一个。在测试阶段,所有 LangSmith 用户都可以访问 LangGraph Studio,无论账户类型如何。虽然当前版本仅限于 Apple Silicon,但预计在不久的将来会发布对其他平台的支持。


LangGraph Studio 需要在系统上运行 Docker Engine 和 Docker Compose 2.22.0 或更高版本。目前,支持的运行时有 Docker Desktop 和 Orbstack,因此在启动应用程序之前,请确保已安装并运行其中一个运行时。


如何在 LangGraph Studio 中加载人工智能代理?

要有效使用LangGraph Studio,你需要正确设置一个LangGraph项目。本节将指导你配置项目、指定依赖关系、创建代理并准备必要的配置文件


第1步:建立项目目录

首先创建必要的项目结构。在本例中,我们将把目录称为 agent-solarpanels-tutorial。


agent-solarpanels-tutorial/
├── .envenv
├── agent.py
├── requirements.txt
└── langgraph.json


  • agent.py: 该文件将定义 LangGraph 代理。
  • requirements.txt: 此文件将列出项目的依赖项。
  • langgraph.json: 这是一个配置文件,定义了 LangGraph 代理的依赖关系、环境变量和路径。
  • .env: 环境变量文件。


第2步:在 requirements.txt 中定义依赖关系

在 requirements.txt 文件中,列出 LangGraph 代理所需的依赖项。以下是太阳能电池板人工智能代理所需的依赖项 :


langgraph
langchain_anthropic
tavily-python
langchain_community
langchain_aws


第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"


第4步:创建langgraph.json文件

langgraph.json 文件至关重要,因为它会告知 LangGraph Studio 有关代理的依赖关系、环境变量以及代理编译图的位置。通过该配置文件,LangGraph Studio 可以正确加载并运行代理。


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


{
  "graphs": {
    "agent": "./agent.py:graph"
  },
  "env": ".env",
  "python_version": "3.11",
  "dependencies": [
    "."
  ]
}


第5步:在 agent.py 中实现图形

接下来,在 agent.py 文件中实现 LangGraph 代理。该文件定义了图形的节点、边和工作流。


第6步:在 LangGraph Studio 中加载代理


2


项目设置和配置完成后,就可以将代理加载到 LangGraph Studio 中了。请按照以下步骤操作:

  1. 确保 Docker 正在运行: 在继续之前,请确保 Docker 已在你的计算机上安装并运行。
  2. 打开 LangGraph Studio: 在机器上启动 LangGraph Studio。系统会提示你使用 LangSmith 账户登录。如果没有账户,可以免费创建一个。
  3. 加载项目: 登录后,选择 “加载现有项目 ”选项。导航至你的项目目录(agent-solarpanels-tutorial),其中有 langgraph.json 文件。


LangGraph Studio 将自动加载代理。如果一切设置正确,你将看到代理的可视化显示。如果出现问题,你可以访问 LangGraph Studio 中的日志,以帮助识别和调试任何问题。


如何使用 LangGraph Studio?


新消息

要运行 AI 代理,首先从左上角的下拉菜单中选择所需的图形。然后,在 “输入 ”部分选择 “消息”,输入问题或输入内容,点击 “提交 ”调用图表。代理的回复将显示在右侧窗格


3


线程

调用图形时,LangGraph Studio 会自动为会话创建一个新线程。你可以使用右侧窗格左上角的下拉菜单在多个线程之间切换,从而管理多个线程。如果需要创建额外的线程,只需点击 “+”图标即可打开新的线程窗口,这样就可以在不同的会话中工作,而不会影响其他会话。


4


每条信息下方都有多个选项:

  • 查看检查点的输出: 提供有关报文 ID 的详细信息。
  • 编辑:允许编辑线程(更多信息见下文)。
  • 重新运行: 允许你在修改代码后重新运行一个步骤(更多信息如下)。
  • 在运行 LangSmith 中打开。
  • 令牌使用信息。
  • 有关延迟的信息。


5


编辑线程

LangGraph Studio 还允许你编辑线程的状态,并根据更新后的状态叉开线程以创建另一种图形执行方式。要编辑线程,首先要选择要修改的线程。然后在右侧窗格中,将鼠标悬停在要更改的特定步骤上,点击铅笔图标开始编辑。完成调整后,单击 “叉 ”更新线程,并根据修改后的状态生成新的图形执行,这样你就可以探索不同的结果或方案。


6


图形中断

在 LangGraph Studio 中,你可以通过添加中断来控制图形的执行流程。中断允许你在特定节点之前或之后,甚至在所有节点之间暂停执行,从而使你能够逐步执行图形。当你想密切监控代理行为或排除特定步骤的故障时,这一点尤其有用。


要添加中断,请导航到左侧窗格右上角的下拉菜单,然后单击中断。你可以选择将中断应用到所有节点,或选择要关注的节点子集。这样,你就可以更轻松地控制图形执行过程,检查代理在每个步骤中的运行情况。


7


编辑图形代码

使用中断控制执行流程后,你可能会发现需要对图形的底层代码进行调整。LangGraph Studio允许你直接修改图形代码,并将这些更改实时同步到交互式图形中。


要编辑图形代码,请单击界面右下角的 “在 VS 代码中打开”(Open in VS Code)。这将在 Visual Studio Code 中打开你的项目,你可以在其中对定义图形的 agent.py 文件进行修改。保存更改后,LangGraph Studio 将自动重新加载并应用到图形中。


如果你做了调整并想进行测试,可以重放图中的特定节点。例如,如果某个代理响应不佳,你可以更新代理节点的实现,保存更改并重新运行该节点。这种实时反馈可以更轻松地迭代代理行为,尤其是在处理复杂、长期运行的图形时。


8


结论

LangGraph Studio 为使用 LangChain 开发和测试人工智能代理提供了一种实用的方法。它混合了可视化工具和实时代码编辑功能,使代理的工作过程更加顺畅。你可以轻松管理图的执行、更改代理的逻辑并即时查看结果。对于想要构建更复杂的人工智能代理的人来说,这是一个非常有用的工具,它简化了许多在代码中完成所有工作时可能会很棘手的任务。


文章来源:https://medium.com/ai-advances/langgraph-studio-visualizing-and-testing-ai-agents-with-langchain-9a6fe80d2643
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消