create_agent。
前提条件
首先,请确保您已安装pytest。
开始使用
由于许多LangGraph智能体依赖于状态,一个有用的模式是在每次使用它进行测试之前创建你的图,然后在测试中使用新的检查点实例编译它。 以下示例展示了如何使用简单的线性图通过node1 和 node2 进行操作。每个节点更新单个状态键 my_key:
测试单个节点和边
编译后的 LangGraph 智能体暴露了每个单独节点的引用作为graph.nodes。您可以利用这一点来测试智能体中的单个节点。请注意,这将绕过在编译图时传递的任何检查点器:
部分执行
对于由大型图构成的智能体,您可能希望测试智能体内部的局部执行路径,而不是整个流程的端到端。在某些情况下,将这些部分作为子图重新结构化可能具有语义上的合理性,您可以像正常一样单独调用这些子图。 然而,如果您不想更改智能体图的总体结构,可以使用LangGraph的持久化机制来模拟一个状态,即您的智能体在所需部分的开始前暂停,并在所需部分的结束时再次暂停。具体步骤如下:- 使用检查点器编译您的智能体(内存检查点器
InMemorySaver足以用于测试)。 - 使用一个设置为要开始测试的节点名称的
as_node参数调用您的智能体的update_state方法。 - 使用与更新状态时相同的
thread_id调用您的智能体,并将interrupt_after参数设置为要停止的节点名称。