通道 (Channels)
langgraph.channels.base ¶
BaseChannel ¶
Bases: Generic[Value, Update, Checkpoint], ABC
所有通道的基类。
| 方法 | 描述 |
|---|---|
copy |
返回通道的副本。 |
checkpoint |
返回通道当前状态的可序列化表示。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
更新 |
使用给定的更新序列更新通道的值。 |
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
checkpoint ¶
checkpoint() -> Checkpoint | Any
返回通道当前状态的可序列化表示。如果通道为空(从未更新过)或不支持检查点,则引发 EmptyChannelError。
from_checkpoint abstractmethod ¶
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
is_available ¶
is_available() -> bool
如果通道可用(非空),则返回 True,否则返回 False。子类应重写此方法,以提供比调用 get() 和捕获 EmptyChannelError 更高效的实现。
update abstractmethod ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
langgraph.channels ¶
Topic ¶
Bases: Generic[Value], BaseChannel[Sequence[Value], Value | list[Value], list[Value]]
一个可配置的发布/订阅(PubSub)主题。
| 参数 | 描述 |
|---|---|
typ
|
通道中存储的值的类型。
类型: |
accumulate
|
是否在多个步骤之间累积值。如果为
类型: |
| 方法 | 描述 |
|---|---|
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
checkpoint |
返回通道当前状态的可序列化表示。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
更新 |
使用给定的更新序列更新通道的值。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
consume ¶
consume() -> bool
通知通道已订阅的任务已运行。默认情况下,无操作。通道可以使用此方法修改其状态,以防止值再次被消费。
如果通道已更新,则返回 True,否则返回 False。
finish ¶
finish() -> bool
通知通道 Pregel 运行即将结束。默认情况下,无操作。通道可以使用此方法修改其状态,以防止完成。
如果通道已更新,则返回 True,否则返回 False。
checkpoint ¶
checkpoint() -> list[Value]
返回通道当前状态的可序列化表示。如果通道为空(从未更新过)或不支持检查点,则引发 EmptyChannelError。
from_checkpoint ¶
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
update ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
LastValue ¶
Bases: Generic[Value], BaseChannel[Value, Value, Value]
存储接收到的最后一个值,每一步最多能接收一个值。
| 方法 | 描述 |
|---|---|
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
更新 |
使用给定的更新序列更新通道的值。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
checkpoint |
返回通道当前状态的可序列化表示。 |
consume ¶
consume() -> bool
通知通道已订阅的任务已运行。默认情况下,无操作。通道可以使用此方法修改其状态,以防止值再次被消费。
如果通道已更新,则返回 True,否则返回 False。
finish ¶
finish() -> bool
通知通道 Pregel 运行即将结束。默认情况下,无操作。通道可以使用此方法修改其状态,以防止完成。
如果通道已更新,则返回 True,否则返回 False。
from_checkpoint ¶
from_checkpoint(checkpoint: Value) -> Self
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
update ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
EphemeralValue ¶
Bases: Generic[Value], BaseChannel[Value, Value, Value]
存储上一步接收到的值,之后会清除。
| 方法 | 描述 |
|---|---|
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
更新 |
使用给定的更新序列更新通道的值。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
checkpoint |
返回通道当前状态的可序列化表示。 |
consume ¶
consume() -> bool
通知通道已订阅的任务已运行。默认情况下,无操作。通道可以使用此方法修改其状态,以防止值再次被消费。
如果通道已更新,则返回 True,否则返回 False。
finish ¶
finish() -> bool
通知通道 Pregel 运行即将结束。默认情况下,无操作。通道可以使用此方法修改其状态,以防止完成。
如果通道已更新,则返回 True,否则返回 False。
from_checkpoint ¶
from_checkpoint(checkpoint: Value) -> Self
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
update ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
BinaryOperatorAggregate ¶
Bases: Generic[Value], BaseChannel[Value, Value, Value]
存储对当前值和每个新值应用二元运算符的结果。
| 方法 | 描述 |
|---|---|
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
更新 |
使用给定的更新序列更新通道的值。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
checkpoint |
返回通道当前状态的可序列化表示。 |
consume ¶
consume() -> bool
通知通道已订阅的任务已运行。默认情况下,无操作。通道可以使用此方法修改其状态,以防止值再次被消费。
如果通道已更新,则返回 True,否则返回 False。
finish ¶
finish() -> bool
通知通道 Pregel 运行即将结束。默认情况下,无操作。通道可以使用此方法修改其状态,以防止完成。
如果通道已更新,则返回 True,否则返回 False。
from_checkpoint ¶
from_checkpoint(checkpoint: Value) -> Self
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
update ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。
AnyValue ¶
Bases: Generic[Value], BaseChannel[Value, Value, Value]
存储接收到的最后一个值,假设如果接收到多个值,它们都是相等的。
| 方法 | 描述 |
|---|---|
consume |
通知通道已订阅的任务已运行。默认情况下,无操作。 |
finish |
通知通道 Pregel 运行即将结束。默认情况下,无操作。 |
copy |
返回通道的副本。 |
from_checkpoint |
返回一个新的相同通道,可以选择从检查点进行初始化。 |
更新 |
使用给定的更新序列更新通道的值。 |
get |
返回通道的当前值。 |
is_available |
如果通道可用(非空),则返回 |
checkpoint |
返回通道当前状态的可序列化表示。 |
consume ¶
consume() -> bool
通知通道已订阅的任务已运行。默认情况下,无操作。通道可以使用此方法修改其状态,以防止值再次被消费。
如果通道已更新,则返回 True,否则返回 False。
finish ¶
finish() -> bool
通知通道 Pregel 运行即将结束。默认情况下,无操作。通道可以使用此方法修改其状态,以防止完成。
如果通道已更新,则返回 True,否则返回 False。
from_checkpoint ¶
from_checkpoint(checkpoint: Value) -> Self
返回一个新的相同通道,可以选择从检查点进行初始化。如果检查点包含复杂的数据结构,则应将其复制。
update ¶
使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。在每个步骤结束时,Pregel 会对所有通道调用此方法。如果没有更新,则使用空序列调用此方法。如果更新序列无效,则引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。