You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LangGraph的StateGraph中通过Pregel引擎设置递归限制

正确设置LangGraph StateGraph的递归限制

错误原因说明

你之前的尝试存在两个问题:

  1. StateGraph对象没有set_config方法,该方法不存在于类定义中
  2. 手动实例化Pregel引擎需要传入节点等必要参数,这不是设置递归限制的正确途径

两种正确实现方式

方式一:编译StateGraph时指定递归限制

from langgraph.graph import StateGraph

class GraphState:
    def __init__(self):
        self.article = ""
        self.feedback = ""
        self.score = 0
        self.iteration_count = 0
        self.topic = ""

# 构建StateGraph实例
workflow = StateGraph(GraphState)

# 注意:此处需先添加你的节点、边以及停止条件,示例如下(根据实际业务调整)
# workflow.add_node("generate", generate_article_function)
# workflow.add_node("review", review_article_function)
# workflow.add_edge("start", "generate")
# workflow.add_conditional_edges("review", should_stop, {"continue": "generate", "stop": END})

# 编译时传入递归限制配置
app = workflow.compile(config={"recursion_limit": 5})

# 运行编译后的图
result = app.invoke({"topic": "示例主题"})

方式二:运行编译后的图时指定递归限制

如果已经完成编译,也可以在调用时动态指定:

# 编译图(不提前指定配置)
app = workflow.compile()

# 运行时传入递归限制
result = app.invoke(
    {"topic": "示例主题"},
    config={"recursion_limit": 5}
)

关键说明

递归限制是LangGraph运行时的配置项,不需要手动实例化Pregel引擎,通过compile()或invoke()方法的config参数即可完成设置。同时确保你的图已经正确配置了停止条件,否则即使设置了递归限制,到达限制后依然会抛出GraphRecursionError。

内容的提问来源于stack exchange,提问作者raghu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:43:33