OpenAI
此頁面由機器翻譯。查看原始英文文章

在 API 中管理速率限制的最佳做法有哪些?

我遇到速率限制錯誤,但我認為自己尚未超過速率限制。這是怎麼回事?

更新日期:7 days ago

速率限制簡介

速率限制是我們的 API 對使用者或用戶端在指定時間內可存取服務次數所施加的限制。

速率限制可以量化,表示會在較短的時間週期內執行(例如 60,000 個請求/分鐘可能會以 1,000 個請求/秒執行)。傳送短時間爆量的請求,或傳送過長的上下文(提示詞+max_completion_tokens),即使技術上仍低於每分鐘速率限制,也可能導致速率限制錯誤。

防止速率限制錯誤的最佳做法

預設組織

如果你屬於多個具有不同帳單方案和使用層級的組織,請確保你的預設組織已設定為適當的組織,以控制使用 API 金鑰發出請求時預設使用哪個組織。

指數退避

在你的程式碼中加入指數退避邏輯。這會攔截失敗的請求並重試。

Token 限制

max_completion_tokens 降低到符合你的完成內容大小。系統會根據此值估算使用需求,因此降低它可減少你意外收到速率限制錯誤的機率。例如,如果你的提示詞產生的完成內容約為 400 個 Token,max_tokens 值也應約為相同大小。


最佳化你的提示詞。你可以透過縮短指示、移除多餘字詞,以及刪除額外範例來做到這點。完成這些變更後,你可能需要調整並測試提示詞,以確保它仍能正常運作。較短提示詞的另一個好處是可降低你的成本。如果需要協助,請告訴我們。

使用層級

如果你已實作這些最佳做法,但仍遇到速率限制錯誤,可以透過提高使用層級來提高速率限制。你可以在帳戶設定的限制區段中查看目前的速率限制、目前的使用層級,以及如何提高使用層級/限制。

延伸閱讀

請在這裡查看我們關於使用層級和速率限制的完整文件。

這篇文章有幫助嗎?