跳转至

LangGraph Studio 问题排查

Safari 连接问题

Safari 会阻止 localhost 上的普通 HTTP 流量。使用 langgraph dev 运行 Studio 时,你可能会看到"Failed to load assistants"(加载助手失败)错误。

解决方案 1: 使用 Cloudflare Tunnel

pip install -U langgraph-cli>=0.2.6
langgraph dev --tunnel
npx @langchain/langgraph-cli dev

命令会输出这种格式的 URL:

https://smith.langchain.com/studio/?baseUrl=https://hamilton-praise-heart-costumes.trycloudflare.com

在 Safari 中使用此 URL 加载 Studio。这里,baseUrl 参数指定你的智能代理服务器端点。

解决方案 2: 使用 Chromium 浏览器

Chrome 和其他 Chromium 浏览器允许在 localhost 上使用 HTTP。使用 langgraph dev 无需额外配置。

Brave 连接问题

当启用 Brave Shields 时,Brave 会阻止 localhost 上的普通 HTTP 流量。使用 langgraph dev 运行 Studio 时,你可能会看到"Failed to load assistants"(加载助手失败)错误。

解决方案 1: 禁用 Brave Shields

使用 URL 栏中的 Brave 图标为 LangSmith 禁用 Brave Shields。

Brave Shields

解决方案 2: 使用 Cloudflare Tunnel

pip install -U langgraph-cli>=0.2.6
langgraph dev --tunnel
npx @langchain/langgraph-cli dev

命令会输出这种格式的 URL:

https://smith.langchain.com/studio/?baseUrl=https://hamilton-praise-heart-costumes.trycloudflare.com

在 Brave 中使用此 URL 加载 Studio。这里,baseUrl 参数指定你的智能代理服务器端点。

图边问题

未定义的条件边可能会在你的图中显示意外的连接。这是 因为如果没有正确定义,LangGraph Studio 会假设条件边可以访问所有其他节点。要解决此问题,使用以下方法之一显式定义路由路径:

解决方案 1: 路径映射

定义路由器输出与目标节点之间的映射:

graph.add_conditional_edges("node_a", routing_function, {True: "node_b", False: "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"

未定义的条件边可能会在你的图中显示意外的连接。这是因为如果没有正确定义,LangGraph Studio 会假设条件边可以访问所有其他节点。 要解决此问题,显式定义路由器输出与目标节点之间的映射:

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