订阅: 我们的变更日志包含一个 RSS 提供程序,可以与 Slack、电子邮件、Discord 机器人如 Readybot 或 RSS Feeds to Discord Bot 以及其他订阅工具集成。
langchain
langchain-core v1.7.0
在 事件流 中,工具调用参数现在作为 tool-call-delta 事件流式传输。每个事件只包含参数的新部分,就像 text-delta 对文本做的那样。早期版本发送 block-delta 事件,重复到目前为止所有的参数。在服务器之前升级客户端
低于以下版本的客户端不处理tool-call-delta。例如,早期版本的 @langchain/react 可能会停止更新一个 useMessages 视图。Agent Server 会原样传递事件,所以是服务器上的 langchain-core 版本决定客户端接收哪些事件。- 升级所有读取流的客户端:
- 在 JavaScript 中,将
@langchain/react、@langchain/vue、@langchain/svelte或@langchain/angular升级到 1.2.6 或更高版本。 - 在 Python 中,将
langchain-core升级到 1.6.13 或更高版本。langgraph-sdk使用它来读取流。
- 在 JavaScript 中,将
- 将服务器上的
langchain-core升级到 1.7.0 或更高版本,并与langchain1.4.7 或更高版本一起升级。
langchain 和 deepagents 接受任何 langchain-core 1.x,因此升级其中任何一个都可以引入 1.7.0。为了在升级所有客户端之前阻止服务器,请将 langchain-core<1.7.0 固定。不兼容的变更
从langchain-core 1.6.13 开始,迭代 message.tool_calls 只返回每个工具调用参数的新部分,以及调用的 id 和 name。早期版本返回到目前为止所有的参数。一个调用的片段会连接成其完整参数,而 message.tool_calls.get() 仍然返回解析的工具调用。langchain
langchain v1.4.6
HumanInTheLoopMiddleware 现在可以在每次工具调用时暂停。设置 interrupt_mode="per_call" 和每个受限制的调用会引发自己的中断,您通过中断 ID 来回答。批量模式仍然是默认模式。功能
- 带类型的答案: 每个中断都包含一个
response_schema,列出了该调用允许的决策,因此客户端可以根据模式构建其表单。参见 读取响应模式。 - 保存前检查: LangGraph 在保存之前会拒绝无效的答案,因此您可以更正它并再次回答同一个中断。参见 更正无效答案。
- 编辑保留在被调用的工具上: 一个
edit不能切换工具,并且其参数会根据工具自己的模式进行检查。
langchain
langchain v1.4.0
MCP 支持现在作为 langchain.mcp 命名空间内的 LangChain 的一部分提供,基于 FastMCP。它取代了独立的 langchain-mcp-adapters 包。使用 mcp 额外安装它:langchain.mcp 命名空间处于 Beta 版。从它导入会引发 LangChainBetaWarning。功能
- 一个适配器,任何传输:
MCPAdapter从其目标推断传输——一个 URL、一个通过 stdio 的本地脚本、一个进程内服务器、一个MCPConfig字典用于 多个服务器,或一个预构建的fastmcp.Client。await adapter.list_tools()返回准备好用于create_agent的 LangChain 工具。参见 MCP 概述。 - 中断驱动的提示: 当服务器在调用中途请求输入时,
MCPAdapter会将问题作为 LangGraphinterrupt()提示,以便人类回答并继续运行。参见 提示。 - 通过 FastMCP 进行身份验证: 带宽令牌、完整的 OAuth 2.1 带动态客户端注册,或任何
httpx.Auth,包括部署中的 每个用户身份验证。参见 身份验证。 - 更丰富的工具元数据: 每个工具在其元数据下的
mcp命名空间中携带其 MCP 起源,包括注释,例如destructive_hint用于 通过批准来限制破坏性工具。参见 工具元数据。
迁移
从langchain-mcp-adapters 迁移?MultiServerMCPClient 被 MCPAdapter 替代,并且一些功能已更改或删除。参见 迁移指南。deepagents
deepagents v0.7.0
默认情况下更精简、更可配置的框架。在默认智能体轮次中,输入 Token 减少 65%(5,395 → 1,895),并通过我们的 重新设计的评估套件 验证,没有质量下降。优化
- 默认情况下更精简的提示: 编写的基提示开始为空,重复工具模式的工具使用文本已被修剪。隔离到默认智能体的工具模式中,总描述 Token 减少 43%(4,005 → 2,302);结合空基提示和可选的 todos,默认智能体轮次的输入 Token 减少 65%(5,395 → 1,895)。工具行为保持不变。(#4859, #4979, #5009)
功能
-
覆盖默认中间件实例: 一个
middleware=(或子智能体middleware)实例,如果其.name与内置的匹配,则会直接替换掉默认实例,而不是报重复错误。例如,传递你自己的SummarizationMiddleware(...)来更改 token 触发器或摘要模型,而不会禁用内置默认设置。(#4251)- 文件系统工具: 新的
delete工具可以删除文件或递归删除目录 (#3659, #3851);write_file现在会覆盖现有文件而不是报错 (#4109);FilesystemMiddleware接受一个 工具白名单 来仅暴露选定的内置工具 (#4325, #4698); 并且针对开放模型进行了优化——分页的read_file会报告总行数和剩余行数以及下一个offset(#4540),grep/glob带有truncated标志返回部分结果而不是在大树中挂起 (#4063), 并且grep在流式输出和可选上下文行的情况下增加了 1,000 次匹配的限制 (#4570, #4706). - 更多提示词缓存支持: 通过
deepagents[aws]扩展进行 Bedrock 提示词缓存 (#4108), 以及 Fireworks 提示词缓存会话亲和性自动生效 (#4598). - NVIDIA 支持: 内置的 Nemotron 3 Ultra 执行器配置文件加上 NIM 应用来源归属。(#4192, #4455)
不兼容变更
- 规划待办事项是可选的:
create_deep_agent不再默认包含TodoListMiddleware,因此write_todos工具、todos状态通道和待办规划提示词除非使用middleware=[TodoListMiddleware()]恢复,否则会缺失。(#4929) - 后端兼容性遮罩已移除: 传递具体的
BackendProtocol实例而不是工厂,使用显式的namespace配置StoreBackend,并使用当前的ls/glob/grep/ReadResultAPI。移除的符号包括BackendFactory、BACKEND_TYPES、FileFormat和Unset。新的文件存储字符串FileData.content;旧的list[str]内容保持可读并在下次写入时转换。(#4541) - 输出格式变更: 空的
ls/glob输出现在是No files found而不是[],并且read_file不再渲染固定宽度的cat -n风格的行号边框——更新任何解析原始工具输出的代码。(#4561)
将 deepagents 代码库从 v0.6.x 迁移到 v0.7.
- 文件系统工具: 新的
deepagents
deepagents v0.6.0
CodeInterpreterMiddleware: (实验性)deepagents现在支持代码执行和程序化工具调用,通过一个作用域 QuickJS 运行时。- 支持
version="v3"在stream_events/astream_events中。详细参考 事件流 指南。 DeltaChannel(Beta) (博客): Deep Agents 现在使用DeltaChannel来存储消息历史和智能体文件。而不是将完整的累积值重新序列化到每个检查点中,仅在每一步写入的增量 delta 被存储——随着线程变长,保持检查点大小小。
- 使用配置文件: 注册每个提供者或每个模型的配置包(
HarnessProfile),当选择模型时,create_deep_agent会自动应用这些配置——系统提示词调整、工具覆盖、中间件更改和子智能体默认值——而无需修改调用位置。ContextHubBackend(博客): 一个基于 LangSmith Hub 的新文件系统后端。智能体文件——技能、记忆和其他持久化上下文——作为 Hub 提交存储,为您提供每次写入的版本历史记录,并具有 LangSmith 原生的持久性,而无需配置单独的 LangGraph 存储。
langchain
langgraph
langgraph v1.2.0
此版本增加了对节点执行的更细粒度控制(超时、错误恢复和优雅关闭)、一个新的通道类型,该类型减少了长时间运行线程的检查点开销,以及一个新的以内容块为中心的流式 API(v3),具有类型化的、按通道投影。-
DeltaChannel(beta): 一个新的通道类型,它仅在每一步存储增量差异,而不是重新序列化完整的累积值。对于随时间增长的通道最有用,例如长时间运行线程中的消息列表。使用snapshot_frequency=K每隔 K 步写入一个完整快照,并限制读取延迟。 -
按节点超时: 将
timeout=传递给 @[add_node],以限制单个尝试运行的时间。设置一个硬时钟限制(run_timeout)、一个空闲限制(idle_timeout),在进度时重置,或通过 @[TimeoutPolicy] 同时设置两者。当限制触发时,LangGraph 触发 @[NodeTimeoutError],清除该尝试的写入,并转交给重试策略。仅适用于异步节点。 -
按节点错误处理: 将
error_handler=传递给 @[add_node],在所有重试都耗尽后运行恢复函数。处理程序接收一个类型化的 @[NodeError],并可以返回一个 @[Command] 来更新状态并路由到不同的节点,这对于 Saga/补偿模式很有用。 -
优雅关闭: 在当前超级步骤完成后,协作地停止正在进行的运行,并保存可恢复的检查点。创建一个 @[
RunControl] 并从任何线程调用request_drain();运行会触发GraphDrained,稍后可以使用相同的配置恢复。 -
新的事件流 API (beta): 将
version="v3"传递给stream_events()/astream_events(),以获取一个以内容块为中心的协议,具有类型化的、按通道投影(run.values,run.messages,run.lifecycle,run.subgraphs)以及可选的更新转换器、自定义事件、检查点、任务和调试。run.messages为每次 LLM 调用生成一个ChatModelStream,具有用于文本、推理、工具调用和使用的类型化子投影。version="v1"和version="v2"保持不变。
deepagents
deepagents v0.5.0
- 异步子智能体: 深度智能体可以启动非阻塞的背景任务,因此用户可以在子智能体并发工作时继续与智能体交互。需要 LangSmith 部署 来支持子智能体。
-
多模态支持:
read_file工具现在支持 PDF、音频和视频文件,除了图像。 -
后端更改: 我们对深度智能体 后端协议 进行了向后兼容的更改:
- 更新了存储在 状态和存储后端 中的文件格式,以支持二进制文件。
- 改进了从后端到工具的错误传播。
- 您现在可以直接实例化
StateBackend()和StoreBackend()。使用工厂(例如,backend=(lambda rt: StateBackend(rt)))指定已弃用。
- Anthropic 提示词缓存改进: 我们对 Anthropic 模型的提示词缓存性能进行了一些改进。
langgraph
langgraph v1.1.0
-
类型安全的流式输出 (
version="v2"): 将version="v2"传递给stream()/astream(),以获取具有type、ns和data键的统一StreamPart输出。每种模式都有自己的TypedDict,所有可从langgraph.types导入。请参阅 流式文档。 -
类型安全的调用 (
version="v2"): 将version="v2"传递给invoke()/ainvoke(),以获取一个具有.value和.interrupts属性的GraphOutput对象。请参阅 调用文档。 -
Pydantic 和 dataclass 强制转换: 使用
version="v2"、invoke()和values模式流输出会自动强制转换为您的声明 Pydantic 模型或 dataclass 类型。 -
固定时间旅行中断和子图: 重播不再重用过时的
RESUME值,子图正确地恢复了父历史状态的检查点。 -
完全向后兼容:
version="v2"是可选的。GraphOutput支持弃用的字典样式访问,以逐步迁移。
deepagents
deepagents v0.4.0
- 新的插件式沙盒集成包:
langchain-modal、langchain-daytona和langchain-runloop。请参阅 沙盒指南 和示例 数据分析教程。 - 对 对话历史摘要 的更改:
- 摘要现在通过
wrap_model_call事件在模型节点中发生。由于这一点,我们在图状态中保留完整的消息历史记录。 - 更精确的 Token 计数。
- 如果聊天模型触发一个 @[
ContextOverflowError](在langchain-core中定义),摘要现在会自动触发。目前langchain-anthropic和langchain-openai支持此功能。
- 摘要现在通过
- 我们现在默认使用模型字符串前缀为
"openai:"的响应 API。使用响应 API 禁用数据保留
langchainintegrations
langchain v1.2.0
create_agent: 通过在 tools 上添加新的extras属性简化对特定提供者工具参数和定义的支持。示例:- 特定提供者的配置,例如 Anthropic 的 程序化工具调用 和 工具搜索。
- 在客户端执行的内置工具,如 Anthropic、OpenAI 和其他提供者所支持。
- 支持 agent
response_format严格遵循模式(参见ProviderStrategy文档)。
langchainintegrations
langchain
langchain v1.1.0
- 模型配置文件:对话模型现在通过一个
.profile属性公开支持的特性和功能。这些数据源自 models.dev,一个提供模型能力数据的开源项目。 - 摘要中间件:更新以支持使用模型配置文件进行灵活的触发点,实现上下文感知摘要。
- 结构化输出:
ProviderStrategy支持(原生结构化输出)现在可以从模型配置文件中推断。 SystemMessageforcreate_agent:支持将SystemMessage实例直接传递给create_agent的system_prompt参数,启用缓存控制和结构化内容块等高级功能。- 模型重试中间件:新的中间件,用于自动重试失败的模型调用,并支持可配置的指数退避。
- 内容审核中间件:OpenAI 内容审核中间件,用于检测和处理智能体交互中的不安全内容。支持检查用户输入、模型输出和工具结果。
langchainlanggraph
官方原文:src/oss/python/releases/changelog.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。