LangGraph Studio¶
LangGraph Studio 提供了一种开发大语言模型(LLM)应用程序的新方式,它提供了一个专门的智能体集成开发环境(IDE),支持对复杂的智能体应用程序进行可视化、交互和调试。
借助可视化图形和编辑状态的功能,你可以更好地理解智能体工作流程,并更快地进行迭代。LangGraph Studio 与 LangSmith 集成,使你能够与团队成员协作调试故障模式。
特性¶
LangGraph Studio 的主要特性如下:
- 可视化展示你的图
- 通过 UI 运行图来测试它
- 通过修改智能体的状态并重新运行来调试智能体
- 创建和管理助手
- 查看和管理线程
- 查看和管理长期记忆
- 将节点的输入/输出添加到 LangSmith 数据集以进行测试
入门指南¶
有两种方法可以将你的 LangGraph 应用程序与工作室连接起来:
已部署的应用程序¶
如果你已将 LangGraph 应用程序部署到 LangGraph 平台上,你可以作为该部署的一部分访问工作室。要做到这一点,请在 LangSmith 用户界面内的 LangGraph 平台中导航到该部署,然后点击“LangGraph 工作室”按钮。
本地开发服务器¶
如果你有一个 在本地内存中运行 的 LangGraph 应用程序,你可以在 LangSmith 的浏览器中将其连接到 LangGraph 工作室。
默认情况下,使用 langgraph dev
启动本地服务器将在 http://127.0.0.1:2024
上运行服务器,并自动在你的浏览器中打开工作室。不过,你也可以通过以下两种方式之一手动连接到工作室:
- 在 LangGraph 平台中,点击“LangGraph 工作室”按钮,并在出现的对话框中输入服务器 URL。
或者
- 在你的浏览器中导航到以下 URL:
相关内容¶
如需更多信息,请参阅以下内容:
LangGraph Studio 常见问题解答¶
为什么我的项目无法启动?¶
如果配置文件定义不正确,或者缺少必需的环境变量,项目可能无法启动。有关配置文件的正确定义方式,请参阅此处。
中断功能是如何工作的?¶
当你选择 Interrupts
下拉菜单并选择一个节点来中断时,图的执行将在该节点运行前后暂停(除非该节点直接进入 END
)。这意味着你既可以在节点运行前编辑状态,也可以在节点运行后编辑状态。这旨在让开发者对节点的行为进行更精细的控制,并更轻松地观察节点的运行情况。如果该节点是图中的最后一个节点,你将无法在节点运行后编辑状态。
有关中断和人工介入循环的更多信息,请参阅此处。
为什么我的图中会出现额外的边?¶
如果你没有仔细定义条件边,可能会注意到图中出现额外的边。这是因为如果没有正确定义,LangGraph Studio 会假设条件边可以访问所有其他节点。为了避免这种情况,你需要明确指定条件边路由到的节点。你可以通过以下两种方式来实现:
解决方案 1:包含路径映射¶
解决此问题的第一种方法是为条件边添加路径映射。路径映射只是一个字典或数组,它将路由函数的可能输出与每个输出对应的节点名称进行映射。路径映射作为第三个参数传递给 add_conditional_edges
函数,如下所示:
在这种情况下,路由函数返回 True
或 False
,分别映射到 node_b
和 node_c
。
解决方案 2:更新路由函数的类型(仅适用于 Python)¶
除了传递路径映射,你还可以通过使用 Python 的 Literal
定义指定路由函数可以映射到的节点,来明确路由函数的类型。以下是如何以这种方式定义路由函数的示例:
def routing_function(state: GraphState) -> Literal["node_b","node_c"]:
if state['some_condition'] == True:
return "node_b"
else:
return "node_c"
桌面版 Studio 常见问题解答¶
弃用警告
为了支持更广泛的平台和用户,我们现在建议按照上述说明使用开发服务器连接到 LangGraph Studio,而不是使用桌面应用程序。
LangGraph Studio 桌面应用程序是一个独立的应用程序,允许你连接到你的 LangGraph 应用程序,并可视化和与你的图进行交互。它仅适用于 MacOS,并且需要安装 Docker。
为什么我的项目无法启动?¶
除了上述列出的原因外,对于桌面应用程序,还有一些其他原因可能导致你的项目无法启动:
注意
LangGraph Studio 桌面版会自动填充 LANGCHAIN_*
环境变量以进行许可证验证和跟踪,无论 .env
文件的内容如何。.env
文件中定义的所有其他环境变量将正常读取。
Docker 问题¶
LangGraph Studio(桌面版)需要 Docker Desktop 版本 4.24 或更高版本。请确保你安装的 Docker 版本满足该要求,并在尝试使用 LangGraph Studio 之前确保 Docker Desktop 应用程序已启动并运行。此外,请确保你已将 docker-compose 更新到 2.22.0 或更高版本。
数据区域不正确¶
如果你在尝试启动 LangGraph 服务器时收到许可证验证错误,可能是你登录到了错误的 LangSmith 数据区域。请确保你登录到了正确的 LangSmith 数据区域,并确保 LangSmith 账户可以访问 LangGraph 平台。
1. 在右上角,点击用户图标并选择 Logout
。
2. 在登录屏幕上,点击 Data Region
下拉菜单并选择适当的数据区域。然后点击 Login to LangSmith
。
如何重新加载应用程序?¶
如果你想重新加载应用程序,请不要像往常一样使用 Command+R。相反,请关闭并重新打开应用程序以进行完全刷新。
自动重建是如何工作的?¶
LangGraph Studio 的一个关键特性是,当你更改源代码时,它会自动重建你的镜像。这允许进行超快速的开发和测试周期,使你可以轻松地对图进行迭代。LangGraph 有两种不同的方式来重建你的镜像:要么编辑镜像,要么完全重建它。
由源代码更改引起的重建¶
如果你仅修改了源代码(没有更改配置或依赖项!),则镜像不需要完全重建,LangGraph Studio 只会更新相关部分。在编辑镜像时,左下角的 UI 状态将暂时从 Online
切换到 Stopping
。在此过程中会显示日志,镜像编辑完成后,状态将变回 Online
,你就可以使用修改后的代码运行你的图了!
由配置或依赖项更改引起的重建¶
如果你编辑了图配置文件 (langgraph.json
) 或依赖项(pyproject.toml
或 requirements.txt
),则整个镜像将被重建。这将导致 UI 从图视图切换,并开始显示新镜像构建过程的日志。这可能需要一两分钟,完成后,你更新后的镜像就可以使用了!
为什么我的图启动需要这么长时间?¶
LangGraph Studio 与本地的 LangGraph API 服务器进行交互。为了与持续更新保持一致,LangGraph API 需要定期重建。因此,你在启动项目时可能偶尔会遇到轻微的延迟。