跳到內容

廢棄政策

本文件概述了 vLLM 專案中廢棄功能的官方政策和流程。

概述

vLLM 使用結構化的“廢棄流程”來指導廢棄功能的生命週期。此政策旨在確保使用者在功能被廢棄時獲得清晰充分的通知,並確保廢棄過程以一致且可預測的方式進行。

我們旨在在持續創新和尊重使用者對現有功能的依賴之間取得平衡。廢棄與我們的遵循語義版本控制 (X.Y.Z) 的次要版本 (Y) 釋出相關聯,其中

  • X 是一個主版本(罕見)
  • Y 是一個次要版本(用於重大更改,包括廢棄/移除)
  • Z 是一個補丁版本(用於修復和更安全的增強)

本政策涵蓋的功能(至少)包括以下內容:

  • CLI 標誌
  • 環境變數
  • 配置檔案
  • OpenAI 相容 API 伺服器中的 API
  • vllm 庫的公共 Python API

廢棄流程

廢棄過程由幾個明確定義的階段組成,這些階段跨越多個 Y 版本。

1. 廢棄(預設仍啟用)

  • 操作:功能被標記為廢棄。
  • 時間線:廢棄警告中明確說明了移除版本(例如,“此功能將在 v0.10.0 中移除”)。
  • 溝通:廢棄資訊將在以下適用情況中註明:
    • 幫助字串
    • 日誌輸出
    • API 響應
    • /metrics 輸出(針對指標功能)
    • 面向使用者的文件
    • 釋出說明
    • GitHub Issue (RFC) 用於反饋
    • Python API 的文件和 @typing_extensions.deprecated 裝飾器的使用

2. 廢棄(預設停用)

  • 操作:功能預設停用,但仍可透過 CLI 標誌或環境變數重新啟用。未重新啟用時使用該功能將丟擲錯誤。
  • 目的:為錯過早期警告的使用者提供臨時出路,同時預示即將移除。確保任何剩餘的使用都被清晰地顯示,並在完全移除之前阻止靜默損壞。

3. 已移除

  • 操作:功能已從程式碼庫中完全移除。
  • 注意:只有經過先前廢棄階段的功能才會被移除。

示例時間線

假設某功能在 v0.9.0 中被廢棄。

釋出版本 狀態
v0.9.0 功能被廢棄,並明確列出了移除版本。
v0.10.0 功能現在預設停用,使用時會丟擲錯誤,但可以重新啟用以供舊版使用。
v0.11.0 功能已被移除。

重要準則

  • 補丁版本中禁止移除:禁止在補丁 (.Z) 版本中移除廢棄功能,以避免使用者感到意外。
  • 現有廢棄的寬限期:任何在此政策之前被廢棄的功能,其寬限期將從現在開始計算,而不是追溯。
  • 文件至關重要:確保管道的每個階段都為使用者清晰地記錄。

最終說明

本政策是一份動態文件,可能會隨著專案及其使用者需求的變化而發展。我們歡迎並鼓勵社群反饋,以完善此流程。