类型¶
All = Literal['*']
模块属性
¶
表示图应在所有节点上中断的特殊值。
StreamMode = Literal['values', 'updates', 'debug', 'messages', 'custom']
模块属性
¶
流方法应如何发出输出。
- 'values':为每个步骤发出状态的所有值。
- 'updates':仅发出节点名称和**在**每个步骤**之后**由节点返回的更新。
- 'debug':为每个步骤发出调试事件。
- 'messages':逐个标记发出 LLM 消息。
- 'custom':发出自定义输出,每个节点的
write: StreamWriter
关键字参数。
StreamWriter = Callable[[Any], None]
模块属性
¶
可调用对象,接受单个参数并将其写入输出流。如果作为关键字参数请求,则始终注入到节点中,但在不使用 stream_mode="custom" 时,它是一个无操作。
RetryPolicy
¶
基类:
重试节点的配置。
源代码位于 libs/langgraph/langgraph/types.py
中
initial_interval: float = 0.5
类属性
实例属性
¶
第一次重试发生前必须经过的时间。以秒为单位。
backoff_factor: float = 2.0
类属性
实例属性
¶
每次重试后间隔增加的倍数。
max_interval: float = 128.0
类属性
实例属性
¶
重试之间可能经过的最大时间。以秒为单位。
max_attempts: int = 3
类属性
实例属性
¶
在放弃之前尝试的最大次数,包括第一次尝试。
jitter: bool = True
类属性
实例属性
¶
是否在重试之间的间隔中添加随机抖动。
retry_on: Union[Type[Exception], Sequence[Type[Exception]], Callable[[Exception], bool]] = default_retry_on
类属性
实例属性
¶
应触发重试的异常类的列表,或一个对于应触发重试的异常返回 True 的可调用对象。
CachePolicy
¶
Interrupt
数据类
¶
PregelTask
¶
PregelExecutableTask
¶
基类:
源代码位于 libs/langgraph/langgraph/types.py
中
StateSnapshot
¶
基类:
图在步骤开始时的状态快照。
源代码位于 libs/langgraph/langgraph/types.py
中
values: Union[dict[str, Any], Any]
实例属性
¶
通道的当前值
next: tuple[str, ...]
实例属性
¶
在此步骤中每个任务要执行的节点的名称。
config: RunnableConfig
实例属性
¶
用于获取此快照的配置
metadata: Optional[CheckpointMetadata]
实例属性
¶
与此快照关联的元数据
created_at: Optional[str]
实例属性
¶
快照创建时间戳
parent_config: Optional[RunnableConfig]
实例属性
¶
用于获取父快照(如果有)的配置
tasks: tuple[PregelTask, ...]
实例属性
¶
在此步骤中要执行的任务。如果已尝试,则可能包含错误。
Send
¶
要发送到图中特定节点的消息或数据包。
Send
类用于 StateGraph
的条件边,以在下一步动态调用具有自定义状态的节点。
重要的是,发送的状态可能与核心图的状态不同,从而允许灵活和动态的工作流管理。
一个这样的例子是“map-reduce”工作流,其中您的图并行多次调用同一个节点,并使用不同的状态,然后将结果聚合回主图的状态。
属性
-
(node
) –str 要发送消息的目标节点的名称。
-
(arg
) –Any 要发送到目标节点的状态或消息。
示例
>>> from typing import Annotated
>>> import operator
>>> class OverallState(TypedDict):
... subjects: list[str]
... jokes: Annotated[list[str], operator.add]
...
>>> from langgraph.types import Send
>>> from langgraph.graph import END, START
>>> def continue_to_jokes(state: OverallState):
... return [Send("generate_joke", {"subject": s}) for s in state['subjects']]
...
>>> from langgraph.graph import StateGraph
>>> builder = StateGraph(OverallState)
>>> builder.add_node("generate_joke", lambda state: {"jokes": [f"Joke about {state['subject']}"]})
>>> builder.add_conditional_edges(START, continue_to_jokes)
>>> builder.add_edge("generate_joke", END)
>>> graph = builder.compile()
>>>
>>> # Invoking with two subjects results in a generated joke for each
>>> graph.invoke({"subjects": ["cats", "dogs"]})
{'subjects': ['cats', 'dogs'], 'jokes': ['Joke about cats', 'Joke about dogs']}
源代码位于 libs/langgraph/langgraph/types.py
中
__init__(node: str, arg: Any) -> None
¶
初始化 Send 类的新实例。
参数
-
node
(
) –str 要发送消息的目标节点的名称。
-
arg
(
) –Any 要发送到目标节点的状态或消息。