LangChain 发布政策
LangChain 生态系统由不同的组件包组成(例如,langchain-core
、langchain
、langchain-community
、langgraph
、langserve
、第三方库等)。
版本管理
langchain
、langchain-core
和集成包
langchain
、langchain-core
、langchain-text-splitters
和集成包(langchain-openai
、langchain-anthropic
等)遵循 语义版本控制 格式为 0.Y.Z。这些包正在快速开发中,因此当前的版本号为主要版本 0。
次要版本增加将发生在:
- 对于任何未标记为
beta
的公共接口的重大更改。
补丁版本增加将发生在:
- 错误修复,
- 新功能,
- 对私有接口的任何更改,
- 对
beta
功能的任何更改。
在小版本之间升级时,用户应查看破坏性更改和弃用的列表。
我们会不时将软件包版本标记为 发布候选。这些版本旨在作为稳定版本发布,但我们希望在此之前获得社区的反馈。发布候选将被标记为 0.Y.ZrcN。例如,0.2.0rc1。如果没有发现问题,发布候选将以相同的版本号发布为稳定版本。如果发现问题,我们将发布一个新的发布候选,并增加 N
值(例如,0.2.0rc2)。
langchain-community
langchain-community
当前版本为 0.2.x
。
小版本增加将发生在:
- 更新所需
langchain-x
依赖项的主要/次要版本。例如,当将langchain-core
的所需版本从^0.2.x
更新到0.3.0
时。
补丁版本增加将发生在:
- 错误修复,
- 新特性,
- 任何对私有接口的更改,
- 任何对
beta
特性的更改, - 对集成的重大更改,以反映第三方服务中的重大更改。
在可能的情况下,我们将避免在补丁版本中进行重大更改。
然而,如果外部API进行重大更改,则相应的 langchain-community
集成可能会在补丁版本中发生重大更改。
langchain-experimental
langchain-experimental
当前版本为 0.0.x
。所有更改将伴随补丁版本的增加。
发布节奏
我们预计将 langchain
和 langchain-core
的 小版本 发布(例如,从 0.2.x 到 0.3.0)间隔至少 2-3 个月,因为这些发布可能包含重大更改。
补丁版本发布频繁,每周可达几次,因为它们包含错误修复和新功能。
API稳定性
大型语言模型应用的开发是一个快速发展的领域,我们不断从用户和社区中学习。因此,我们预计langchain
和langchain-core
中的API将继续发展,以更好地满足用户的需求。
尽管langchain
和langchain-core
目前都处于1.0之前的状态,但我们致力于维护这些包的API稳定性。
- 对公共API的重大更改将导致次版本号增加(第 二位数字)
- 任何错误修复或新功能将导致补丁版本号增加(第三位数字)
我们通常会尽量避免不必要的更改,并将为被移除的功能提供弃用政策。
其他包的稳定性
LangChain生态系统中其他包的稳定性可能有所不同:
langchain-community
是一个由社区维护的包,包含第三方集成。虽然我们尽力审查和测试langchain-community
中的更改,但由于它包含许多社区贡献,langchain-community
预计会经历比langchain
和langchain-core
更多的重大更改。- 第三方库可能遵循不同的稳定性和版本控制策略,用户应参考这些库的文档以获取更多信息;然而,通常这些库预计是稳定的。
什么是“API 稳定性”?
API 稳定性意味着:
- 所有公共 API(本文件中的所有内容)在没有提供向后兼容的别名的情况下,不会被移动或重命名。
- 如果这些 API 添加了新功能——这很可能——它们不会破坏或改变现有方法的含义。换句话说,“稳定”并不(一定)意味着“完整”。
- 如果由于某种原因,声明为稳定的 API 必须被移除或替换,它将被声明为不推荐使用,但将在 API 中保留至少两个小版本。调用不推荐使用的方法时将发出警告。