简介
在这篇文章中,我们探讨了如何创建能够管理复杂、多步骤任务的智能、适应性强的人工智能系统。我们使用节点来表示单个操作或计算,用边将它们连接起来以控制决策流,并依靠状态在整个交互过程中保持上下文。这样,我们就能构建一个人工智能代理,计算太阳能电池板的潜在节能效果,展示 LangGraph 如何帮助开发人员创建能动态响应用户输入的真实世界应用程序。
今天,我想更进一步,介绍一款新工具,它能让人工智能代理开发更高效: LangGraph Studio。这是第一个集成开发环境(IDE),专门用于可视化、测试和调试基于 LangChain 的人工智能代理。在这篇文章中,我们将深入介绍 LangGraph Studio 的功能、它是如何简化开发流程的,以及为什么它是希望轻松创建智能、适应性强的系统的开发人员的必备工具。
什么是 LangGraph Studio?
LangGraph Studio 是一个集成开发环境(IDE),用于支持人工智能代理的创建和测试,特别适用于使用 LangChain 构建的项目。它提供了一个可视化界面,用户可以使用节点和边设计代理工作流,节点和边代表任务和任务之间的连接。该工具还允许对代理行为进行实时可视化,并提供调试功能。通过提供复杂流程的图形表示,LangGraph Studio 旨在帮助开发人员管理多步骤任务、监控状态,并比在纯粹基于代码的环境中更有效地测试人工智能代理。
如何安装 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
第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 中加载代理
项目设置和配置完成后,就可以将代理加载到 LangGraph Studio 中了。请按照以下步骤操作:
LangGraph Studio 将自动加载代理。如果一切设置正确,你将看到代理的可视化显示。如果出现问题,你可以访问 LangGraph Studio 中的日志,以帮助识别和调试任何问题。
如何使用 LangGraph Studio?
新消息
要运行 AI 代理,首先从左上角的下拉菜单中选择所需的图形。然后,在 “输入 ”部分选择 “消息”,输入问题或输入内容,点击 “提交 ”调用图表。代理的回复将显示在右侧窗格
线程
调用图形时,LangGraph Studio 会自动为会话创建一个新线程。你可以使用右侧窗格左上角的下拉菜单在多个线程之间切换,从而管理多个线程。如果需要创建额外的线程,只需点击 “+”图标即可打开新的线程窗口,这样就可以在不同的会话中工作,而不会影响其他会话。
每条信息下方都有多个选项:
编辑线程
LangGraph Studio 还允许你编辑线程的状态,并根据更新后的状态叉开线程以创建另一种图形执行方式。要编辑线程,首先要选择要修改的线程。然后在右侧窗格中,将鼠标悬停在要更改的特定步骤上,点击铅笔图标开始编辑。完成调整后,单击 “叉 ”更新线程,并根据修改后的状态生成新的图形执行,这样你就可以探索不同的结果或方案。
图形中断
在 LangGraph Studio 中,你可以通过添加中断来控制图形的执行流程。中断允许你在特定节点之前或之后,甚至在所有节点之间暂停执行,从而使你能够逐步执行图形。当你想密切监控代理行为或排除特定步骤的故障时,这一点尤其有用。
要添加中断,请导航到左侧窗格右上角的下拉菜单,然后单击中断。你可以选择将中断应用到所有节点,或选择要关注的节点子集。这样,你就可以更轻松地控制图形执行过程,检查代理在每个步骤中的运行情况。
编辑图形代码
使用中断控制执行流程后,你可能会发现需要对图形的底层代码进行调整。LangGraph Studio允许你直接修改图形代码,并将这些更改实时同步到交互式图形中。
要编辑图形代码,请单击界面右下角的 “在 VS 代码中打开”(Open in VS Code)。这将在 Visual Studio Code 中打开你的项目,你可以在其中对定义图形的 agent.py 文件进行修改。保存更改后,LangGraph Studio 将自动重新加载并应用到图形中。
如果你做了调整并想进行测试,可以重放图中的特定节点。例如,如果某个代理响应不佳,你可以更新代理节点的实现,保存更改并重新运行该节点。这种实时反馈可以更轻松地迭代代理行为,尤其是在处理复杂、长期运行的图形时。
结论
LangGraph Studio 为使用 LangChain 开发和测试人工智能代理提供了一种实用的方法。它混合了可视化工具和实时代码编辑功能,使代理的工作过程更加顺畅。你可以轻松管理图的执行、更改代理的逻辑并即时查看结果。对于想要构建更复杂的人工智能代理的人来说,这是一个非常有用的工具,它简化了许多在代码中完成所有工作时可能会很棘手的任务。