如何在LangGraph的StateGraph中通过Pregel引擎设置递归限制
正确设置LangGraph StateGraph的递归限制
错误原因说明
你之前的尝试存在两个问题:
StateGraph对象没有set_config方法,该方法不存在于类定义中- 手动实例化
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
相关产品推荐
相关产品推荐

