四个月前,我们发布了 LangChain 的第一个稳定版本。今天,我们将跟进宣布 langchain
v0.2 的预发布。
此版本建立在 v0.1 中奠定的基础上,并融入了社区反馈。我们很高兴分享 v0.2 带来了:
- 备受期待的
langchain
和langchain-community
的完全分离 - 新的(和版本化的!)文档
- 更成熟和可控的 Agent 框架
- 改进的 LLM 接口标准化,尤其是在工具调用方面
- 更好的流式传输支持
- 30 多个新的合作伙伴包。
这只是一个预发布版本,完整 v0.2 版本 将在几周后发布。让我们深入了解 langchain
v0.2 将包含的内容。
拥抱稳定性:LangChain 架构的演进
langchain
v0.2 中最显著的变化之一是将 langchain
包与 langchain-community
解耦。因此,langchain-community
现在依赖于 langchain-core
和 langchain
。这是 我们从 langchain
v0.1.0 开始的工作 的延续,旨在创建一个更健壮和自包含的包。
langchain
v0.1.0 将 langchain
包分解为组件包,以提高 LangChain 在生产环境中的可用性。这些组件包包括 langchain-core
、langchain
、langchain-community
和合作伙伴包。点击此处 了解更多信息。langchain-community
包含许多第三方集成。这意味着有很多(可选的)依赖项、很多文件,并且由于集成的性质,该包偶尔容易受到 CVE 的攻击。因此,移除 langchain
对 langchain-community
的依赖,使 langchain
更轻量级、更专注、更安全。
我们尝试以最小的破坏性方式进行这种重组,方法是继续公开预先存在的入口点,这些入口点可以从 langchain.chat_models import ChatOpenAI
访问。在底层,这涉及从 langchain_community
进行条件导入;本质上,它检查是否安装了 langchain-community
,如果安装了,则执行导入。这意味着如果您安装了 langchain-community
,将不会有任何重大更改。
这个想法来自一位社区成员 - 感谢 Jacob!

提高可发现性:更好的版本化文档
我们还根据社区反馈改进了文档。这项工作在 一个多月前开始,我们正在通过两种主要方式继续进行。
首先,文档现在将被版本化。这是一直以来社区的要求,我们努力使其成为现实。我们将维护现有文档作为 v0.1 版本,并开始构建单独的 v0.2 版本。目前,文档将默认设置为 v0.1 — 但一旦完整的 0.2 版本发布,我们将开始默认使用新文档。我们的版本化文档应该更好地反映软件包的状态,我们希望在此基础上不断改进。
其次,文档现在更加扁平化和简单化。主要有四个部分:教程、操作指南、概念指南和 API 参考。这应该使查找文档更容易,也方便我们维护一套最少且一致的指南。这也是社区的建议 - 感谢 Reddit 用户 @Zealousideal_Wolf624!

我们还在制作一个 “LangChain 随时间推移”文档页面,以更好地突出 LangChain 的变化。我们希望这有助于解释和关联跨版本的概念。
增强功能:LangGraph Agent
自 LangChain 早期以来,最大的反馈之一是难以自定义预构建链和 Agent 的内部结构。我们在去年夏天推出了 LCEL 来解决链的问题,使其易于创建任意可组合的序列。
到目前为止,LangChain 中的 Agent 始终基于 AgentExecutor,这是一个具有硬编码逻辑的单类,用于说明如何运行 Agent。我们为此类添加了越来越多的参数,以支持越来越高级的 Agent,但这仍然不是真正的可组合。
几个月前,我们推出了 LangGraph,它是 LangChain 的扩展,专门用于创建 Agent 工作负载。可以将其视为“Agent 的 LCEL”。它建立在 LCEL 之上,并添加了两个重要组件:轻松定义循环的能力(对 Agent 很重要,但对链来说不是必需的)和内置内存。
在 langchain
v0.2 中,我们保留了旧的 AgentExecutor — 但 LangGraph 正在成为构建 Agent 的推荐方式。我们添加了一个预构建的 LangGraph 对象,它相当于 AgentExecutor — 通过构建在 LangGraph 之上,它更容易自定义和修改。请参阅 此处 获取有关如何迁移的文档。
v0.1.0 的演进:改进的流式传输支持、标准化的工具调用等
自从今年 1 月发布 langchain
v0.1.0 以来,我们在以下领域取得了显著改进
- 标准聊天模型接口:我们希望尽可能轻松地在不同的 LLM 之间无缝切换。为了做到这一点,我们 标准化了工具调用支持,并为 结构化输出 添加了标准化接口。
- 异步支持:我们改进了许多核心抽象的异步支持。这里有 一个例子 或 两个例子。非常感谢 @cbornet 的帮助,使之成为现实!
- 流式传输支持:流式传输对于 LLM 应用程序至关重要,我们通过添加 事件流式传输 API 改进了流式传输支持。
- 合作伙伴包:拥有稳定可靠的集成是我们的首要任务。我们与生态系统合作伙伴紧密合作,为 Python 中的 20 多个提供商(包括 MongoDB、Mistral 和 Together AI)以及 JavaScript 中的 17 个提供商(包括 Google VertexAI、Weaviate 和 Cloudflare)添加了专用包。
如何升级
v0.2 包含许多改进,我们将其设计为与先前版本基本向后兼容,并最大限度地减少了重大更改。我们还致力于添加迁移 CLI 以缓解任何问题,以及突出显示版本之间更改的文档。
请查看我们的 GitHub Discussions 帖子,了解有关如何测试 CLI 和安装 v0.2 预发布版本的详细信息。并请继续关注 5 月 20 日当周的完整迁移指南。
为什么稳定性对我们很重要
我们珍视 100 万以上依赖 LangChain 的开发人员的信任。随着 LangChain 的发展,我们致力于提供行业领先的解决方案,同时确保工程团队可以自信地在生产中使用的基础框架。
虽然 langchain
和 langchain-core
目前处于 1.0 之前的状态,但我们力求最大限度地减少重大更改,并在至少提前 1 个完整重大版本(3-6 个月)弃用类。我们的发布节奏还确保定期更新和错误修复,使 LangChain 平台保持可靠性和生产就绪状态。我们还将继续维护 0.1 版本,我们将向该版本推送 3 个月的关键错误修复。点击此处 了解有关我们的发布和弃用策略的更多信息。
我们很乐意在 GitHub 上听到您关于 LangChain v2.0 的所有想法。如果您是 LangChain 的新手,请按照我们的 快速入门指南 开始使用。