比較頻率限制政策

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

請參考下方的比較圖表,判斷要為速率限制用途使用哪項政策:

配額 SpikeArrest LLMTokenQuota PromptTokenLimit
用途: 限制開發人員應用程式或開發人員在特定時間內可發出的 API 代理呼叫次數。這項功能最適合在較長的時間間隔 (例如天、週或月) 內進行速率限制,特別是需要準確計數時。 限制所有消費者在短時間內 (例如幾秒或幾分鐘) 可對 API 代理發出的 API 呼叫次數。 管理及限制 LLM API 呼叫在指定期間 (分鐘、小時、天、週或月) 的詞元用量總計。您可以藉此控管 LLM 支出,並根據 API 產品套用精細的配額管理機制。 為防範權杖濫用、大量提示和潛在的阻斷服務攻擊,請根據使用者提示訊息中的權杖數量,限制輸入內容中傳送的權杖速率,藉此節流要求,保護 API 代理的目標後端。這項政策與 API 流量的突增防範政策類似,但適用於權杖。
請勿使用這項功能: 保護 API Proxy 的目標後端,避免流量暴增。請使用 SpikeArrest 或 PromptTokenLimit。 計算並限制應用程式在特定時間內可對 API Proxy 的目標後端建立的連線數,特別是在需要準確計算時。 保護 API Proxy 的目標後端,避免權杖遭到濫用。 請使用 PromptTokenLimit。 準確計算並限制用於帳單或長期配額管理的權杖總數。請使用 LLMTokenQuota 政策。
儲存計數? 可以,這項服務會維護計數器,追蹤 LLM 回覆消耗的權杖數量。 這項政策會計算權杖數量,以強制執行速率限制,但不會像 LLMTokenQuota 政策一樣,儲存長期計數。
附加政策的最佳做法:

將其附加至 ProxyEndpoint Request PreFlow,通常是在驗證使用者之後。

這項設定可讓政策在 API Proxy 的進入點檢查配額計數器。

將其附加至 ProxyEndpoint Request PreFlow,通常位於流程最開頭。

這項功能可在 API Proxy 的進入點提供尖峰流量防護。

要求流程中套用違規處置政策 (EnforceOnly),並在回應流程中套用計數政策 (CountOnly)。如要逐句顯示回覆內容,請將計數政策附加至 EventFlow 將其附加至 ProxyEndpoint Request PreFlow,位於流程開頭,可保護後端免於過大的提示。
達到限制時的 HTTP 狀態碼: 429 (服務無法使用) 429 (服務無法使用) 429 (服務無法使用) 429 (服務無法使用)
注意事項:
  • 配額計數器會儲存在 Cassandra 中。
  • 您可以將政策設為非同步同步處理計數器,以節省資源,但這樣可能會允許略微超出限制的呼叫。
  • 可選擇平滑化演算法或有效計數演算法。前者可平滑指定時間範圍內的要求數,後者則可限制指定時間範圍內的要求總數,無論要求傳送速度多快,都不會超過上限。
  • 訊息處理工具不會協調平滑化作業。
  • 可設為 CountOnly,追蹤權杖用量,或設為 EnforceOnly,拒絕超出配額的要求。
  • 這項功能可搭配 API 產品使用,根據應用程式、開發人員、模型或特定 LLM 作業集,進行精細的配額設定。
  • 使用 <LLMTokenUsageSource> 從 LLM 回覆中擷取權杖計數,並使用 <LLMModelSource> 識別所用的模型。
  • 權杖計算方式可能與 LLM 使用的略有不同。
  • <UserPromptSource> 元素會指定要求訊息中使用者提示的位置。
瞭解詳情: 配額政策 SpikeArrest 政策 LLMTokenQuota 政策 提示詞詞元數量限制政策