Skip to content

LangGraph Studio

LangGraph Studio 提供了一种开发大语言模型(LLM)应用程序的新方式,它提供了一个专门的智能体集成开发环境(IDE),支持对复杂的智能体应用程序进行可视化、交互和调试。

借助可视化图形和编辑状态的功能,你可以更好地理解智能体工作流程,并更快地进行迭代。LangGraph Studio 与 LangSmith 集成,使你能够与团队成员协作调试故障模式。

特性

LangGraph Studio 的主要特性如下:

入门指南

有两种方法可以将你的 LangGraph 应用程序与工作室连接起来:

已部署的应用程序

如果你已将 LangGraph 应用程序部署到 LangGraph 平台上,你可以作为该部署的一部分访问工作室。要做到这一点,请在 LangSmith 用户界面内的 LangGraph 平台中导航到该部署,然后点击“LangGraph 工作室”按钮。

本地开发服务器

如果你有一个 在本地内存中运行 的 LangGraph 应用程序,你可以在 LangSmith 的浏览器中将其连接到 LangGraph 工作室。

默认情况下,使用 langgraph dev 启动本地服务器将在 http://127.0.0.1:2024 上运行服务器,并自动在你的浏览器中打开工作室。不过,你也可以通过以下两种方式之一手动连接到工作室:

  1. 在 LangGraph 平台中,点击“LangGraph 工作室”按钮,并在出现的对话框中输入服务器 URL。

或者

  1. 在你的浏览器中导航到以下 URL:
https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024

相关内容

如需更多信息,请参阅以下内容:

LangGraph Studio 常见问题解答

为什么我的项目无法启动?

如果配置文件定义不正确,或者缺少必需的环境变量,项目可能无法启动。有关配置文件的正确定义方式,请参阅此处

中断功能是如何工作的?

当你选择 Interrupts 下拉菜单并选择一个节点来中断时,图的执行将在该节点运行前后暂停(除非该节点直接进入 END)。这意味着你既可以在节点运行前编辑状态,也可以在节点运行后编辑状态。这旨在让开发者对节点的行为进行更精细的控制,并更轻松地观察节点的运行情况。如果该节点是图中的最后一个节点,你将无法在节点运行后编辑状态。

有关中断和人工介入循环的更多信息,请参阅此处

为什么我的图中会出现额外的边?

如果你没有仔细定义条件边,可能会注意到图中出现额外的边。这是因为如果没有正确定义,LangGraph Studio 会假设条件边可以访问所有其他节点。为了避免这种情况,你需要明确指定条件边路由到的节点。你可以通过以下两种方式来实现:

解决方案 1:包含路径映射

解决此问题的第一种方法是为条件边添加路径映射。路径映射只是一个字典或数组,它将路由函数的可能输出与每个输出对应的节点名称进行映射。路径映射作为第三个参数传递给 add_conditional_edges 函数,如下所示:

graph.add_conditional_edges("node_a", routing_function, {True: "node_b", False: "node_c"})
graph.addConditionalEdges("node_a", routingFunction, { true: "node_b", false: "node_c" });

在这种情况下,路由函数返回 TrueFalse,分别映射到 node_bnode_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.tomlrequirements.txt),则整个镜像将被重建。这将导致 UI 从图视图切换,并开始显示新镜像构建过程的日志。这可能需要一两分钟,完成后,你更新后的镜像就可以使用了!

为什么我的图启动需要这么长时间?

LangGraph Studio 与本地的 LangGraph API 服务器进行交互。为了与持续更新保持一致,LangGraph API 需要定期重建。因此,你在启动项目时可能偶尔会遇到轻微的延迟。

Comments