廢棄政策¶
本文件概述了 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
) 版本中移除廢棄功能,以避免使用者感到意外。 - 現有廢棄的寬限期:任何在此政策之前被廢棄的功能,其寬限期將從現在開始計算,而不是追溯。
- 文件至關重要:確保管道的每個階段都為使用者清晰地記錄。
最終說明¶
本政策是一份動態文件,可能會隨著專案及其使用者需求的變化而發展。我們歡迎並鼓勵社群反饋,以完善此流程。