LangGraph Studio¶
LangGraph Studio 提供了一种开发 LLM 应用的新方式,通过提供一个专门的代理集成开发环境(IDE),使可视化、交互和调试复杂的代理应用程序成为可能。
使用可视化的图表和编辑状态的能力,您可以更好地理解代理工作流并更快地迭代。LangGraph Studio 与 LangSmith 集成,允许您与团队成员协作以调试故障模式。
功能¶
LangGraph Studio 的关键功能包括:
- 可视化您的图谱
- 通过用户界面运行测试您的图谱
- 通过修改其状态并重新运行调试代理
- 创建和管理助手
- 查看和管理线程
- 查看和管理长期记忆
- 将节点输入/输出添加到LangSmith数据集中以进行测试
开始使用¶
有以下两种方式可以将您的LangGraph应用程序与工作室连接:
部署的应用程序¶
如果您已经在LangGraph平台上部署了LangGraph应用,您可以通过该平台访问工作室。为此,请在LangSmith UI中导航到LangGraph平台上的部署,并点击“LangGraph Studio”按钮。
本地开发服务器¶
如果您有一个正在本地内存中运行的LangGraph应用,您可以在LangSmith浏览器内将其连接到LangGraph Studio。
默认情况下,使用langgraph dev
启动本地服务器时,它将在http://127.0.0.1:2024
运行,并自动在您的浏览器中打开工作室。但是,您也可以手动通过以下任一方式连接到工作室:
- 在LangGraph平台上,点击“LangGraph Studio”按钮,并在弹出的对话框中输入服务器URL。
或
- 在您的浏览器中导航到以下URL:
相关资料¶
如需更多信息,请参阅以下内容:
LangGraph Studio 常见问题解答¶
为什么我的项目无法启动?¶
如果配置文件定义不正确或缺少必要的环境变量,则项目可能无法启动。有关如何定义配置文件的信息,请参阅此处。
中断功能是如何工作的?¶
当你选择“中断”下拉菜单并选择一个节点来中断时,图形将在该节点运行之前和之后暂停执行(除非该节点直接跳到“END”)。这意味着你可以在节点运行前编辑状态,并在节点运行后编辑状态。此功能旨在允许开发人员更精细地控制节点的行为,并使其更容易观察节点的行为。如果你选择的节点是图中的最后一个节点,则无法编辑该节点运行后的状态。
有关中断和人机交互的更多信息,请参阅此处。
为什么在我的图中会出现额外的边?¶
如果你没有仔细定义条件边,你可能会注意到图中出现了额外的边。这是因为如果没有正确的定义,LangGraph Studio 会假设条件边可以访问所有其他节点。为了防止这种情况发生,你需要明确指定条件边路由到哪些节点。有以下两种解决方案:
解决方案 1:包含路径映射¶
解决这个问题的第一种方法是在你的条件边上添加路径映射。路径映射只是一个字典或数组,它将路由器函数的可能输出映射到每个输出对应的节点名称。路径映射作为 add_conditional_edges
函数的第三个参数传递,如下所示:
在这种情况下,路由器函数返回 True 或 False,分别对应于 node_b
和 node_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 版本,并且确保 Docker Desktop 应用已启动并运行后再尝试使用 LangGraph Studio。此外,请确保 docker-compose 更新至 2.22.0 或更高版本。
错误的数据区域¶
如果你在尝试启动 LangGraph 服务器时收到许可证验证错误,则你可能登录到了错误的 LangSmith 数据区域。请确保你登录到了正确的 LangSmith 数据区域,并确保 LangSmith 账户有权访问 LangGraph 平台。
- 在右上角点击用户图标并选择“注销”。
- 在登录屏幕上,点击“数据区域”下拉菜单并选择适当的区域。然后点击“登录到 LangSmith”。
如何重新加载应用程序?¶
如果你想重新加载应用程序,请不要像平常那样使用 Command+R。相反,关闭并重新打开应用程序以实现完全刷新。
自动重建是如何工作的?¶
LangGraph Studio 的一个关键特性是当更改源代码时,它会自动重建你的镜像。这使得开发和测试周期非常快,使迭代图变得容易。有两种不同的方式 LangGraph 会重建你的镜像:一种是编辑镜像,另一种是完全重建镜像。
来自源代码更改的重建¶
如果你只修改了源代码(没有配置或依赖项更改!),则镜像不需要完全重建,LangGraph Studio 只会更新相关部分。UI 状态会在左下角从“在线”切换到“停止”,暂时编辑镜像。在此过程中会显示日志,并在镜像编辑完成后,状态会变回“在线”,你可以使用修改后的代码运行你的图!
来自配置或依赖项更改的重建¶
如果你编辑了图配置文件(langgraph.json
)或依赖项(无论是 pyproject.toml
还是 requirements.txt
),则整个镜像将被重建。这将导致 UI 切换出图视图并开始显示新镜像构建过程的日志。这可能需要一两分钟的时间,一旦完成,你的更新镜像将准备好使用!
为什么我的图启动时间这么长?¶
LangGraph Studio 与本地 LangGraph API 服务器交互。为了保持与持续更新的一致性,LangGraph API 需要定期重建。因此,你偶尔可能会遇到项目启动时的轻微延迟。