LangGraph SDK 和 Agent Server 是 LangSmith 的一部分。
基本用法
基本用法示例:- Python
- JavaScript
- cURL
扩展示例:流式传输更新
扩展示例:流式传输更新
这是一个可以在 Agent Server 中运行的示例图。
更多详情请参阅 LangSmith 快速入门。一旦您拥有一个正在运行的 Agent Server,就可以使用
LangGraph SDK 与其交互。
- Python
- JavaScript
- cURL
client.runs.stream()方法返回一个迭代器,产生流式输出。- 设置
stream_mode="updates"以仅流式传输每个节点后图状态的更新。其他流模式也可用。详情请参阅支持的流模式。
支持的流模式
流式传输多种模式
您可以将列表作为stream_mode 参数传递,以同时流式传输多种模式。
流式输出将是 (mode, chunk) 的元组,其中 mode 是流模式的名称,chunk 是该模式流式传输的数据。
- Python
- JavaScript
- cURL
流式传输图状态
使用流模式updates 和 values 来流式传输图执行时的状态。
updates流式传输图每个步骤后状态的更新。values流式传输图每个步骤后状态的完整值。
示例图
示例图
有状态运行
以下示例假设您希望将流式运行的输出持久化到检查点数据库,并且已经创建了一个线程。要创建一个线程:如果您不需要持久化运行的输出,可以在流式传输时传递
- Python
- JavaScript
- cURL
None 而不是 thread_id。流模式:updates
使用此模式仅流式传输每个步骤后节点返回的状态更新。流式输出包括节点名称和更新内容。
- Python
- JavaScript
- cURL
流模式:values
使用此模式流式传输每个步骤后图的完整状态。
- Python
- JavaScript
- cURL
子图
要在流式输出中包含子图的输出,可以在父图的.stream() 方法中设置 subgraphs=True。这将同时流式传输父图和任何子图的输出。
- 设置
stream_subgraphs=True以流式传输子图的输出。
扩展示例:从子图流式传输
扩展示例:从子图流式传输
这是一个可以在 Agent Server 中运行的示例图。
更多详情请参阅 LangSmith 快速入门。一旦您拥有一个正在运行的 Agent Server,就可以使用
LangGraph SDK 与其交互。注意,我们不仅接收节点更新,还接收命名空间信息,告诉我们正在从哪个图(或子图)流式传输。
- Python
- JavaScript
- cURL
- 设置
stream_subgraphs=True以流式传输子图的输出。
调试
使用debug 流模式在图执行过程中流式传输尽可能多的信息。流式输出包括节点名称和完整状态。
- Python
- JavaScript
- cURL
LLM 令牌
使用messages-tuple 流模式从图的任何部分(包括节点、工具、子图或任务)逐令牌流式传输大语言模型(LLM)的输出。
messages-tuple 模式的流式输出是一个元组 (message_chunk, metadata),其中:
message_chunk:来自 LLM 的令牌或消息片段。metadata:包含图节点和 LLM 调用详细信息的字典。
示例图
示例图
- 注意,即使 LLM 使用
invoke而不是stream运行,消息事件也会被发出。
- Python
- JavaScript
- cURL
- “messages-tuple” 流模式返回一个元组迭代器
(message_chunk, metadata),其中message_chunk是 LLM 流式传输的令牌,metadata是一个字典,包含有关调用 LLM 的图节点和其他信息。
过滤 LLM 令牌
- 要按 LLM 调用过滤流式令牌,可以为 LLM 调用关联
tags。 - 要仅从特定节点流式传输令牌,请使用
stream_mode="messages"并通过流式元数据中的langgraph_node字段过滤输出。
流式传输自定义数据
要发送自定义用户定义的数据:- Python
- JavaScript
- cURL
流式传输事件
要流式传输所有事件,包括图的状态:- Python
- JavaScript
- cURL
无状态运行
如果您不希望将流式运行的输出持久化到检查点数据库,可以在不创建线程的情况下创建无状态运行:- Python
- JavaScript
- cURL
- 我们传递
None而不是thread_idUUID。
加入并流式传输
LangSmith 允许您加入一个活跃的后台运行并从中流式传输输出。为此,您可以使用 LangGraph SDK 的client.runs.join_stream 方法:
- Python
- JavaScript
- cURL
- 这是您要加入的现有运行的
run_id。
API 参考
关于 API 使用和实现,请参阅 API 参考。Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

