跳到内容

LangGraph Studio

LangGraph Studio 提供了一种开发 LLM 应用程序的新方法,它提供了一个专门的 Agent IDE,可以实现复杂 Agent 应用程序的可视化、交互和调试。

借助可视化图表和编辑状态的能力,您可以更好地理解 Agent 工作流程并更快地迭代。LangGraph Studio 与 LangSmith 集成,让您可以与团队成员协作调试故障模式。

功能特性

LangGraph Studio 的主要功能特性包括:

开始入门

有两种方法可以将您的 LangGraph 应用程序连接到 Studio

已部署的应用

如果您已将 LangGraph 应用程序部署在 LangGraph 平台上,则可以访问作为该部署一部分的 Studio。为此,请在 LangSmith UI 中导航到 LangGraph 平台中的部署,然后单击“LangGraph Studio”按钮。

本地开发服务器

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

默认情况下,使用 langgraph dev 启动本地服务器将在 http://127.0.0.1:2024 运行服务器,并自动在您的浏览器中打开 Studio。但是,您也可以通过以下任一方式手动连接到 Studio:

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

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

有关更多信息,请参阅以下内容:

LangGraph Studio 常见问题解答

为什么我的项目启动失败?

如果配置文件定义不正确,或者缺少必需的环境变量,则项目可能启动失败。有关如何定义配置文件的信息,请参阅此处

中断是如何工作的?

当您选择 中断 下拉菜单并选择要中断的节点时,图将在该节点运行之前和之后(除非该节点直接进入 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" });

在这种情况下,路由函数返回 True 或 False,分别映射到 node_bnode_c

解决方案 2:更新路由器的类型(仅限 Python)

除了传递路径映射之外,您还可以通过使用 Literal python 定义指定它可以映射到的节点来明确路由函数的类型。以下是如何以这种方式定义路由函数的示例:

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. 在右上角,单击用户图标并选择 注销
  2. 在登录屏幕上,单击 数据区域 下拉菜单并选择适当的数据区域。然后单击 登录到 LangSmith

如何重新加载应用?

如果您想重新加载应用程序,请不要像平常那样使用 Command+R。相反,关闭并重新打开应用程序以进行完全刷新。

自动重建是如何工作的?

LangGraph Studio 的主要功能特性之一是,当您更改源代码时,它会自动重建您的镜像。这实现了超快的开发和测试周期,从而可以轻松迭代您的图。LangGraph 重建镜像有两种不同的方式:编辑镜像或完全重建镜像。

从源代码更改重建

如果您仅修改了源代码(没有配置或依赖项更改!),则镜像不需要完全重建,LangGraph Studio 将仅更新相关部分。左下角的 UI 状态将从 在线 临时切换到 停止,同时镜像正在编辑。日志将在此过程发生时显示,并且在镜像编辑完成后,状态将更改回 在线,您将能够使用修改后的代码运行您的图!

从配置或依赖项更改重建

如果您编辑了图配置文件 (langgraph.json) 或依赖项(pyproject.tomlrequirements.txt),则将完全重建整个镜像。这将导致 UI 从图视图切换开,并开始显示新镜像构建过程的日志。这可能需要一两分钟,一旦完成,您更新后的镜像就可以使用了!

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

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

评论