文末有福利!
LangChain v0.2:向稳定性迈进的一大步
❝
本文经翻译并二次整理自LangChain v0.2: A Leap Towards Stability一文。LangChain官方正式对外宣布了LangChain v0.2的预发布版本,这个版本在提升LangChain的稳定性和安全性方面迈出了重要一步。
阅读时间:约5分钟
发布日期:2024年5月10日
还记得四个月前我们发布的LangChain首个稳定版吗?今天,我们继续这一进步,带来了langchain
v0.2的预发布版。这个新版本不仅在v0.1的基础上进行了改进,还吸纳了社区的反馈。以下是v0.2版本的主要亮点:
-
实现了社区热切期待的
langchain
与langchain-community
的完全分离。 -
引入了新版(而且是有版本控制的!)文档。
-
提供了一个更加成熟和可控的代理框架。
-
对大型语言模型(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版本,但一旦完整的v0.2版本发布,我们将开始使用新的文档作为默认。我们希望我们的版本化文档能更好