version="v3" 标志暂时需要用于选择此流式行为。新行为将在下一个 LangGraph 主版本中成为默认流版本。事件流式输出提供什么
运行流在一个底层事件流上暴露类型化投影:
多个消费者可以并发读取这些投影。读取
run.messages 不会消费 run.values、run.subgraphs 或 run.output 所需的事件。
流协议事件
当你需要原始协议事件流时,使用运行对象本身:method、一个单调递增的 seq 编号,以及包含 namespace、timestamp、可选的 node 和通道特定 data 的 params。
messages 通道将输出建模为内容块。这使得 Token 流式输出、推理块、工具调用块和多模态内容在应用代码中无需提供商特定格式即可显式化。
添加自定义转换器
流转换器是事件流式输出中的投影层。它们观察协议事件,维护自己的状态,并暴露运行的派生视图,如进度事件、工件、Token 总数、工具活动或第三方协议消息。 转换器在init() 中创建投影,在 process() 中观察每个事件,并在运行完成时最终化或使投影失败。
使用 StreamChannel
StreamChannel 是自定义流式数据的投影原语。它为进程内消费者提供可迭代流,当通道有协议名称时,还可以将推送的值转发给远程 SDK 客户端。
命名通道的负载必须可序列化,因为它们也作为
custom:<name> 协议事件发出。将 Promise、异步可迭代对象、类实例和其他进程内句柄保持在本地。
相关
- 流式输出食谱展示可运行的事件流式输出示例。
- LangGraph 流式输出涵盖更底层的流模式。
- LangChain 事件流式输出涵盖基于 LangGraph 构建的智能体流式输出接口。
- Deep Agents 事件流式输出涵盖委托子智能体流。
将这些文档连接到 Claude、VSCode 等工具,通过 MCP 获取实时答案。

