跳到主要內容
Open on GitHub

LangChain 發布政策

LangChain 生態系統由不同的元件套件組成(例如,langchain-corelangchainlangchain-communitylanggraphlangserve、合作夥伴套件等)

版本控制

langchainlangchain-core 和整合套件

langchainlangchain-corelangchain-text-splitters 和整合套件(langchain-openailangchain-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。所有變更都將伴隨修補程式版本號的增加。

發布節奏

我們預期 langchainlangchain-core次要版本發布(例如,從 0.2.x 到 0.3.0)至少間隔 2-3 個月,因為此類發布可能包含重大變更。

修補程式版本發布頻繁,每週最多發布幾次,因為它們包含錯誤修正和新功能。

API 穩定性

LLM 應用程式的開發是一個快速發展的領域,我們不斷從使用者和社群中學習。因此,我們預期 langchainlangchain-core 中的 API 將繼續發展,以更好地滿足使用者的需求。

即使 langchainlangchain-core 目前都處於 pre-1.0 狀態,我們仍致力於維護這些套件中的 API 穩定性。

  • 公開 API 的重大變更將導致次要版本號的增加(第二位數字)
  • 任何錯誤修正或新功能都將導致修補程式版本號的增加(第三位數字)

我們通常會盡力避免進行不必要的變更,並將為要移除的功能提供棄用政策。

其他套件的穩定性

LangChain 生態系統中其他套件的穩定性可能會有所不同

  • langchain-community 是一個社群維護的套件,其中包含第三方整合。雖然我們盡力審查和測試 langchain-community 中的變更,但由於它包含許多社群貢獻,因此預計 langchain-community 會比 langchainlangchain-core 經歷更多重大變更。
  • 合作夥伴套件可能遵循不同的穩定性和版本控制政策,使用者應參考這些套件的文件以獲取更多資訊;但是,一般而言,這些套件預計是穩定的。

什麼是「API 穩定性」?

API 穩定性表示

  • 所有公開 API(本文件中所有內容)在未提供向後相容的別名之前,都不會被移動或重新命名。
  • 如果這些 API 新增了新功能(這很有可能),它們將不會破壞或改變現有方法的含義。換句話說,「穩定」並不(一定)表示「完整」。
  • 如果由於某些原因,必須移除或替換聲明為穩定的 API,則將聲明其為已棄用,但將在 API 中保留至少兩個次要版本。當呼叫已棄用的方法時,將發出警告。

標記為內部的 API

某些 API 以幾種方式明確標記為「內部」

  • 某些文件參考內部組件並將其稱為內部組件。如果文件說明某個事物是內部的,則可能會變更。
  • 以底線開頭的函數、方法和其他物件(_)。這是指示某事物為私有的標準 Python 慣例;如果任何方法以單個 _ 開頭,則它是內部 API。
    • 例外: 某些方法以 _ 開頭,但不包含實作。這些方法旨在由提供實作的子類別覆寫。此類方法通常是 LangChain 公開 API 的一部分。

棄用政策

在更好的替代方案可用之前,我們通常會避免棄用功能。

當功能被棄用時,它將在當前和下一個次要版本的 langchainlangchain-core 中繼續運作。之後,該功能將被移除。

由於我們預期次要版本發布至少間隔 2-3 個月,這表示功能可能會在棄用後的 2-6 個月內移除。

在某些情況下,如果功能不會在套件中引起問題,我們可以允許該功能在程式碼庫中保留更長的時間,以減輕使用者的負擔。


此頁面是否有幫助?