接口 PregelOptions<Nodes, Channels, ConfigurableFieldType>

执行 Pregel 图的配置选项。这些选项控制图的执行方式、流式传输的数据以及中断处理方式。

interface PregelOptions<Nodes, Channels, ConfigurableFieldType> {
    callbacks?: Callbacks;
    configurable?: ConfigurableFieldType;
    debug?: boolean;
    inputKeys?: keyof Channels | (keyof Channels)[];
    interruptAfter?: "*" | (keyof Nodes)[];
    interruptBefore?: "*" | (keyof Nodes)[];
    maxConcurrency?: number;
    metadata?: Record<string, unknown>;
    outputKeys?: keyof Channels | (keyof Channels)[];
    recursionLimit?: number;
    runId?: string;
    runName?: string;
    signal?: AbortSignal;
    store?: BaseStore;
    streamMode?: StreamMode | StreamMode[];
    subgraphs?: boolean;
    tags?: string[];
    timeout?: number;
}

类型参数

继承关系

属性

callbacks?: Callbacks

此调用和任何子调用的回调(例如,Chain 调用 LLM)。标签传递给所有回调,元数据传递给 handle*Start 回调。

configurable?: ConfigurableFieldType

先前在此 Runnable 或子 Runnable 上配置的属性的运行时值。

debug?: boolean

启用图执行期间的详细调试日志记录。启用后,打印有关以下内容的信息

  • 任务执行
  • 通道更新
  • 检查点写入

默认

false
inputKeys?: keyof Channels | (keyof Channels)[]

指定从检查点恢复执行时要检索的通道键。这是一个高级选项,通常不需要手动设置。图将根据其配置自动确定适当的输入键。

interruptAfter?: "*" | (keyof Nodes)[]

节点列表,指定在节点运行<坚强>后应中断执行。类似于 interruptBefore,但在节点完成后中断。当节点的输出需要在继续之前进行审查时很有用。

示例

// Interrupt after specific nodes
interruptAfter: ["generateContent", "analyze"]

// Interrupt after all nodes
interruptAfter: "all"
interruptBefore?: "*" | (keyof Nodes)[]

节点列表,指定在节点运行<坚强>前应中断执行。可用于调试和高级状态操作用例。对于人机协作工作流程,开发人员应首选

链接

函数。

中断后,必须提供恢复

链接

才能继续执行。

示例

// Interrupt before specific nodes
interruptBefore: ["humanReview", "qualityCheck"]

// Interrupt before all nodes
interruptBefore: "all"
maxConcurrency?: number

最大并行调用数。

metadata?: Record<string, unknown>

此调用和任何子调用的元数据(例如,Chain 调用 LLM)。键应为字符串,值应为 JSON 可序列化。

outputKeys?: keyof Channels | (keyof Channels)[]

指定要包含在输出流和最终结果中的通道键。使用此选项可筛选要观察的图状态的哪些部分。

示例

// Stream only the 'result' channel
outputKeys: "result"

// Stream multiple channels
outputKeys: ["result", "intermediateState"]
recursionLimit?: number

调用可以递归的最大次数。如果未提供,则默认为 25。

runId?: string

此跟踪器运行的唯一标识符。如果未提供,将生成新的 UUID。

runName?: string

此跟踪器运行的名称。默认为类名。

signal?: AbortSignal

此调用的中止信号。如果提供,当信号中止时,调用将中止。

store?: BaseStore

一个共享值存储,允许您跨线程存储和检索状态。对于实现长期记忆模式很有用。

streamMode?: StreamMode | StreamMode[]

控制在图执行期间流式传输哪些信息。可以同时启用多种模式。

支持的模式

  • "values":在每个步骤后流式传输完整状态
  • "updates":仅在每个步骤后流式传输状态更改
  • "messages":从节点内部流式传输消息
  • "custom":从节点内部流式传输自定义事件
  • "debug":流式传输详细的执行事件,用于跟踪和调试

示例

// Stream only values
streamMode: "values"

// Stream both values and debug info
streamMode: ["values", "debug"]

默认

["values"]
subgraphs?: boolean

是否在流中包含子图执行详细信息。为 true 时,还将流式传输来自嵌套图的状态更新。

默认

false
tags?: string[]

此调用和任何子调用的标签(例如,Chain 调用 LLM)。您可以使用这些标签来筛选调用。

timeout?: number

此调用的超时时间,以毫秒为单位。