节点名称到其 PregelNode 实现的映射
通道名称到其 BaseChannel 或 ManagedValueSpec 实现的映射
可传递给图的可配置字段类型
图接受的输入值类型
图生成的输出值类型
编译时是否自动验证图结构。默认为 true。
可选
cache图的可选缓存,用于缓存任务。
图中的通道,将通道名称映射到其 BaseChannel 或 ManagedValueSpec 实例
可选
checkpointer用于持久化图状态的可选检查点器。如果提供,它将在每个超步保存图状态的检查点。当为 false 或 undefined 时,检查点功能将被禁用,图将无法保存或恢复状态。
可选
config图执行的默认配置,可以按每次调用进行覆盖
是否启用调试日志记录。默认为 false。
图的输入通道。当图被调用时,这些通道接收初始输入。可以是一个单一通道键,也可以是通道键的数组。
可选
interrupt在执行这些节点后中断的可选节点名称数组或“all”。用于实现人机协作工作流。
可选
interrupt在执行这些节点前中断的可选节点名称数组或“all”。用于实现人机协作工作流。
受保护的
lc_可选
name图中的节点,将节点名称映射到其 PregelNode 实例
图的输出通道。当图完成时,这些通道包含最终输出。可以是一个单一通道键,也可以是通道键的数组。
可选
retry用于处理节点执行失败的可选重试策略
可选
step每个超步执行的可选超时时间(毫秒)
可选
store图的可选长期内存存储,允许数据在线程间持久化和检索
可选
stream可选的要流式传输的通道。如果未指定,将流式传输所有通道。可以是一个单一通道键,也可以是通道键的数组。
此图启用的流式传输模式。默认为 ["values"]。支持的模式有
构造函数参数的别名映射。键是属性名称,例如“foo”。值是将在序列化中替换键的别名。这用于例如使参数名称与 Python 匹配。
要与构造函数参数合并的额外属性映射。键是属性名称,例如“foo”。值是属性值,将被序列化。这些属性需要被构造函数接受为参数。
模块的最终序列化标识符。
秘密的映射,这些秘密将从序列化中省略。键是构造函数参数中秘密的路径,例如“foo.bar.baz”。值是秘密 ID,将在反序列化时使用。
应被序列化的键的手动列表。如果未被覆盖,则所有传递给构造函数的字段都将被序列化。
处理可运行对象批量处理和配置的内部方法。它接受一个函数、输入值和可选配置,并返回一个解析为输出值的 Promise。
为每个输入值执行的函数。
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>[]可选
runManagers: (undefined | CallbackManagerForChainRun)[]可选
batchOptions: RunnableBatchOptions可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean> & { 可选
batchOptions: RunnableBatchOptions一个解析为输出值的 Promise。
受保护的
_call可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>> & { 受保护的
_get受保护的
_separate可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>受保护
_stream受保护
_transform将输入值迭代器转换为输出值迭代器(带回调)的辅助方法。在 Runnable 子类中实现 stream()
或 transform()
时使用此方法。
可选
runManager: CallbackManagerForChainRun可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>> & { 将一个可运行对象转换为工具。返回 RunnableToolLike
的新实例,其中包含可运行对象、名称、描述和模式。
RunnableToolLike
的实例,它是一个可用作工具的可运行对象。
批处理的默认实现,它会调用 invoke 方法 N 次。如果子类可以更有效地进行批处理,则应重写此方法。
每次批处理调用的输入数组。
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>> | Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>[]应用于每次批处理调用的单个选项对象,或者每次调用的数组。
可选
batchOptions: RunnableBatchOptions & { RunOutputs 数组,如果设置了 batchOptions.returnExceptions,则为 RunOutputs 和错误的混合数组。
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>> | Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>[]可选
batchOptions: RunnableBatchOptions & { 可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>> | Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>[]可选
batchOptions: RunnableBatchOptions将参数绑定到可运行对象,返回一个新的可运行对象。
一个新的 RunnableBinding,当调用时,它将应用绑定的参数。
获取图的当前状态。需要配置检查点。
用于检索状态的配置。
可选
options: GetStateOptions附加选项
当前图状态的快照。
如果未配置检查点
获取图状态的历史记录。需要配置检查点。对于以下情况很有用:
用于检索历史记录的配置。
可选
options: CheckpointListOptions过滤历史记录的选项。
状态快照的异步迭代器。
如果未配置检查点
获取此图中的所有子图。子图是嵌套在此图节点中的 Pregel 实例。
可选
namespace: string用于过滤子图的可选命名空间
可选
recurse: boolean是否递归获取子图的子图
生成器,产生 [name, subgraph] 的元组。
请改用 getSubgraphsAsync
。在下一个次要版本中,异步方法将成为默认方法。
异步获取此图中的所有子图。子图是嵌套在此图节点中的 Pregel 实例。
可选
namespace: string用于过滤子图的可选命名空间
可选
recurse: boolean是否递归获取子图的子图
异步生成器,产生 [name, subgraph] 的元组。
使用单个输入和配置运行图。
图的输入。
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>运行使用的配置。
返回一个新的 Runnable,它通过对每个输入调用 invoke()
将输入列表映射到输出列表。
创建一个新的可运行序列,该序列按顺序运行每个独立的运行对象,并将一个运行对象的输出作为另一个运行对象或类运行对象的输入。
一个可运行对象、函数或其值为函数或可运行对象的对象。
一个新的可运行序列。
流式传输图的执行,并在状态更新发生时发出它们。这是实时观察图执行的主要方法。
流模式
有关更多详细信息,请参阅流式传输操作指南。
用于启动图执行的输入
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, TStreamMode, TSubgraphs>>流式传输的配置选项
一个图状态更新的异步可迭代流
可选
streamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">可选
streamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">流式传输可运行对象的所有输出,这些输出将报告给回调系统。这包括LLMs、Retrievers、Tools等的所有内部运行。输出以日志对象(Log objects)的形式流式传输,其中包含一个jsonpatch操作列表,描述了运行状态在每一步中如何变化,以及运行的最终状态。可以应用jsonpatch操作来构建状态。
可选
options: Partial<PregelOptions<Record<"__start__" | N, PregelNode<State, Update>>, Record<string | N, BaseChannel<unknown, unknown, unknown>>, ConfigurableFieldType & Record<string, any>, undefined | StreamMode | StreamMode[], boolean>>可选
streamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">transform 的默认实现,它会缓冲输入,然后调用 stream。如果子类可以在输入仍在生成时开始产生输出,则应覆盖此方法。
使用新值更新图的状态。需要配置检查点(checkpointer)。
此方法可用于
更新的配置
用于更新状态的值
可选
asNode: string | N可选的节点名称,用于归因更新
更新后的配置
如果未配置检查点
如果更新无法归因于某个节点
创建一个具有更新配置的 Pregel 图的新实例。此方法遵循不可变模式 - 它不是修改当前实例,而是返回一个包含合并配置的新实例。
要与当前配置合并的配置
一个包含合并配置的新 Pregel 实例
// Create a new instance with debug enabled
const debugGraph = graph.withConfig({ debug: true });
// Create a new instance with a specific thread ID
const threadGraph = graph.withConfig({
configurable: { thread_id: "123" }
});
从当前可运行对象创建一个新的可运行对象,如果初始调用失败,该对象将尝试调用其他传入的备用可运行对象。
一个新的 RunnableWithFallbacks。
将生命周期监听器绑定到可运行对象,并返回一个新的可运行对象。Run 对象包含有关运行的信息,包括其 ID、类型、输入、输出、错误、开始时间、结束时间,以及添加到运行中的任何标签或元数据。
包含回调函数的对象。
可选
on在可运行对象运行结束后调用,传入 Run 对象。
可选
config: RunnableConfig<Record<string, any>>可选
on如果可运行对象抛出错误,则调用此函数,传入 Run 对象。
可选
config: RunnableConfig<Record<string, any>>可选
on在可运行对象开始运行之前调用,传入 Run 对象。
可选
config: RunnableConfig<Record<string, any>>为现有可运行对象添加重试逻辑。
可选
fields: { 可选
on可选
stop一个新的 RunnableRetry,当被调用时,将根据参数进行重试。
静态
is
Pregel 类是 LangGraph 的核心运行时引擎,它实现了一种受 Google Pregel 系统 启发的 MPC(消息传递计算)图计算模型。它为构建可靠、可控的智能体工作流奠定了基础,这些工作流可以随时间演变状态。
主要特性
Pregel 类不应由消费者直接实例化。请改用以下更高级别的 API
Pregel
Pregel
实例由 entrypoint 函数返回示例
示例