跳至主要内容

LangChain 版本发布

LangChain 生态系统由不同的组件包组成(例如,@langchain/corelangchain@langchain/community@langchain/langgraph、合作伙伴包等)。

版本控制

langchain@langchain/core

langchain@langchain/core 遵循语义版本控制,格式为 0.Y.Z。这些包正在快速开发中,因此目前使用主版本 0 进行版本控制。

以下情况会进行次版本号增加:

  • 对任何标记为 beta 的公共接口进行重大更改。

以下情况会进行修订版本号增加:

  • 修复错误
  • 新增功能
  • 对私有接口进行任何更改
  • beta 功能进行任何更改

在次版本之间升级时,用户应查看重大更改和弃用功能的列表。

我们会不定期地发布 发行候选版本 的包。这些版本旨在作为稳定版本发布,但我们在发布之前希望获得社区的反馈。发行候选版本的版本号格式为 0.Y.Z-rc.N。例如,0.2.0-rc.1。如果未发现问题,发行候选版本将以相同的版本号作为稳定版本发布。\如果发现问题,我们将发布一个新的发行候选版本,其中 N 值增加(例如,0.2.0-rc.2)。

LangChain 生态系统中的其他包

生态系统中的其他包(包括用户包)可以使用不同的版本控制方案,但通常需要固定到特定次版本的 langchain@langchain/core

发布节奏

我们预计 langchain@langchain/core次版本发布(例如,从 0.2.0 到 0.3.0)之间至少间隔 2-3 个月,因为这些版本可能包含重大更改。

修订版本会经常发布,因为它们包含错误修复和新功能。

API 稳定性

LLM 应用程序的开发是一个快速发展的领域,我们不断从我们的用户和社区学习。因此,我们预计 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 中保留至少两个次要版本。在调用已弃用方法时将发出警告。

标记为内部的 API

某些 API 以两种方式明确标记为“内部”。

  • 某些文档提到内部内容,并将其称为内部内容。如果文档说某件事是内部的,它可能会发生变化。
  • 以领先下划线(_)开头的函数、方法和其他对象。如果任何方法以单个_开头,则它是一个内部 API。
    • 例外情况:某些方法以 _ 为前缀,但没有实现。这些方法旨在由提供实现的子类覆盖。这些方法通常是 LangChain 公共 API 的一部分。

弃用策略

我们通常会避免弃用功能,直到有更好的替代方案可用。

当某个功能被弃用时,它将在 langchain@langchain/core 的当前版本和下一个次要版本中继续工作。之后,该功能将被删除。

由于我们预计至少每 2-3 个月发布一次次要版本,这意味着一个功能可以在被弃用后 2-6 个月内被删除。

在某些情况下,如果该功能不会在包中造成问题,我们可能会允许它在代码库中保留更长时间,以减轻用户的负担。


此页面是否有帮助?


您也可以留下详细的反馈 在 GitHub 上.