繁中 ▾

OpenAI API 相容模型的計費常見錯誤

許多開發者在轉向 openai-api-compatible 服務時,因隱藏的額外負載或誤判 token 成本而浪費餘額。了解上下文視窗、串流行為和重試邏輯,可防止預付餘額出現意外費用。本指南剖析了八個最常見的計價錯誤,讓您能準確預測 API 支出。

最後更新

摘要

  • Token 費用在輸入和輸出之間差異顯著,輸出 Token 的成本通常是輸入費率的兩倍多。
  • 串流回應不會減少 Token 使用量;您為生成的每個 Token 付費,無論其交付方式為何。
  • 函式呼叫需要在上下文中明確的工具定義,這會在生成開始前增加輸入 token 數量。
  • 免費試用信用額度允許您在立即耗用預付餘額之前測試整合成本。

忽略上下文窗口成本

上下文視窗限制直接影響您的計費輸入 token。當您傳送提示詞時,整個對話歷史會累積在 100,000 個 token 的限制內。如果您未有效管理歷史記錄,您會迅速消耗輸入配額。每則新訊息都會增加總上下文,提高每次後續請求的基礎成本。這在歷史記錄線性增長的長會話中尤為重要。僅在上下文視窗中保留最相關的訊息。當舊對話不再影響當前任務時,請截斷它們。這能保持您的輸入 token 數量較低且成本可預測。我們的 API 每 1M 輸入 token 收費 $0.15,因此每個浪費的 token 都會累積。使用滑動視窗策略以維持對話連貫性而不使上下文膨脹。這種方法確保您的預付信用額能使用更久。它還減少延遲,因為較小的載荷處理更快。在每次請求前,務必在客戶端程式碼中監控 token 計數。這個簡單的習慣能防止月底出現意外的帳單衝擊。

假設所有 tokens 計數相同

輸入與輸出 token 在我們的 API 中定價不同。輸入 token 每 1M costing $0.15,而輸出 token 每 1M costing $0.50。這意味著輸出 token 的成本是輸入 token 的三倍以上。開發者常誤以為每個 token 的費率是固定的,從而低估成本。如果您的模型生成較長的回應,帳單會比預期增長得更快。請在日誌中監控輸入與輸出 token 的比例。使用能產生更簡短、直接答案的精簡提示。這能減少昂貴的輸出 token 數量。您也可以設置較低的 max_tokens 限制,以限制每次請求的成本。請注意,如果模型達到最大輸出限制,您仍需支付該限制之前生成的所有 token 費用。此策略適用於偏好簡潔的聊天完成場景。如果您需要詳細解釋,效果則較差。調整您的應用邏輯以在細節與成本之間取得平衡。定期查看使用儀表板以發現 token 消耗趨勢。這些數據有助於您優化提示以提高效率。

忘記串流處理的額外開銷

串流在您產生 Token 時即傳送 Token,但並不會減少總 Token 數量。您需為每個傳送的 Token 付費,無論它是即時到達還是延遲到達。部分開發者誤以為串流能節省費用,因為它感覺更有效率。無論使用串流或非串流模式,Token 數量都完全相同。串流因多個 HTTP 區塊而增加網路開銷,但這不影響計費。唯一的差異在於您如何在客戶端程式碼中處理回應。使用串流以獲得更好的使用者體驗,但請為完整的 Token 數量做好預算。我們的 API 在串流的最後一個區塊中包含 Token 用量,因此您可以準確追蹤成本。確保您的客戶端程式碼解析最後一個區塊以取得總 Token 用量。這可防止您的內部日誌與我們的帳單之間出現差異。串流非常適合聊天介面,使用者希望看到文字即時出現。它並不提供 API 帳單的折扣。計算每月支出時,請務必計算完整的 Token 總量。這可避免預付信用額意外耗盡。

誤判函數呼叫成本

函式呼叫需要在上下文中傳送工具定義。這些定義計為輸入 token。如果您的工具結構描述很大,它會顯著增加輸入成本。每次呼叫函式也會在歷史記錄中產生新訊息,增加上下文。這會迅速膨脹單一使用者查詢的 token 使用量。僅在工具結構描述中定義必要的參數,以保持 token 數量低。避免在工具定義中傳送冗餘或過於詳細的說明。當模型呼叫函式時,回應也會被 tokenize,增加輸出成本。這種多輪互動可能會使簡單請求的 token 數量倍增。追蹤每個使用者會話的函式呼叫次數。如果您看到過多的呼叫,請改進您的提示或工具定義以更好地引導模型。這減少了不必要的輪次並降低成本。我們的 API 透過 tools 參數支援函式呼叫,因此您可以高效地整合。只需記住,每一輪都會增加您的總 token 數量。規劃您的應用程式流程以減少冗餘的函式呼叫。這確保您從預付信用中获得最佳價值。

忽略速率限制的影響

速率限制可能會導致您的應用程式重試請求,從而使您的 token 使用量翻倍。我們的 API 允許每分鐘每金鑰 300 次請求。如果您達到此限制,您的客戶端程式碼必須等待並重試。每次重試都會再次發送相同的輸入 token,增加您的帳單。這對於高流量應用程式尤其成問題。在重試邏輯中實作指數退避,以避免頻繁請求 API。這減少了冗餘請求的數量並節省 token。密切監控您的請求速率,特別是在高峰使用時間。如果您持續達到限制,請考慮將流量分佈到多個金鑰。每個金鑰都有自己的速率限制,因此分攤負載有所幫助。然而,每個金鑰都綁定到一個帳戶,因此請仔細管理您的金鑰。我們的 API 對錯誤和拒絕收費,因此失敗的重試仍然消耗 token。確保您的應用程式優雅地處理錯誤,而不進行不必要的重試。這使您的 token 消耗與實際有用的工作保持一致。定期檢查您的速率限制標頭,以保持在允許的限制內。這可防止您的 token 使用量出現意外激增。

未追蹤 API 金鑰使用情况

每個帳戶僅能擁有一個有效 API 金鑰。若您生成新金鑰,舊金鑰將變為非有效狀態。這表示您無法在同一帳戶下將用量分散至多個金鑰。請仔細追蹤金鑰用量,以免因金鑰失效而失去信用額度。若遺失金鑰,您無法從後台找回。生成新金鑰後,舊金鑰會立即停止運作。若未妥善管理,可能會導致應用程式中斷。建議將單一金鑰用於所有整合,以簡化追蹤。請定期監控信用餘額,確保有足夠額度應對即將到來的請求。我們的 API 提供後台供您檢視歷史用量。利用這些數據預測下個月的 token 需求。若發現用量突然增加,請調查原因。可能是程式碼中的錯誤導致過度重試,或是使用者行為改變導致 token 消耗增加。定期監控有助於及早發現問題並調整預算,確保不會意外耗盡信用額度。

低估重試成本

當網路故障或 API 回傳錯誤時,重試(Retries)很常見。每次重試都會再次發送相同的輸入 token,從而增加您的帳單。如果您的應用程式因單一錯誤重試五次,您將為輸入 token 支付五次費用。這可能會顯著推高成本,尤其是對於高流量應用程式。實施健壯的重試機制以限制重試次數。設定最大重試計數以防止無限迴圈。此外,區分暫時性錯誤與永久性錯誤。永久性錯誤(如參數無效)不應重試。暫時性錯誤(如伺服器超時)可以帶延遲重試。使用指數退避(exponential backoff)以減輕 API 的負載。這也能減少重試次數並節省 token。監控您的錯誤率以識別模式。如果您看到高重試率,請調查根本原因。可能是網路問題或客戶端程式碼中的錯誤。修復根本原因可減少不必要的重試並降低帳單。這確保您只為成功且有用的請求付費。定期檢視重試日誌以優化錯誤處理策略。

缺少免費試用優惠

每個新帳戶都會獲得 $0.50 的試用額度,有效期為 7 天。這讓您可以測試 API,而無需冒用預付餘額的風險。利用此試用額度驗證您的整合是否運作正常。測試不同的參數,如 temperature、top_p 和 max_tokens。測量各種提示的 token 使用量。這有助於您在決定追加更大金額之前估算成本。試用額度會根據實際 token 使用量計費,因此您只需為實際使用的部分付費。錯誤和拒絕回應是免費的,即使在試用期間亦然。這意味著您可以測試錯誤處理機制,而無需擔心費用。試用期結束後,您必須使用加密貨幣充值才能繼續使用 API。充值金額從 $20 起,並附帶贈送額度。充值 $50 可獲得 5% 的贈送額度,而充值 $200 則可獲得 15% 的贈送額度。利用試用額度確定適合您需求的充值金額。這能確保您以正確的餘額開始使用,避免額度耗盡。它也有助於您在做出財務承諾之前了解 API 的行為。不要讓試用額度閒置;請充分測試以最大化其價值。

常見問題

這個 openai-api 相容服務確實無審查嗎?

是的,該模型針對合法成人用途進行調整,以無拒絕方式回答,但它仍會拒絕涉及未成年人的性內容。這是一個在我們伺服器上運行的開放權重模型,並非 GPT 或其他供應商's 的模型。您可以將其用於虛構、安全研究或爭議性主題,且無過濾器限制。

串流傳輸如何影響我的 token 帳單?

串流不會降低您的 token 帳單。您為每個生成的 token 付費,無論它是即時到達還是延遲到達。無論使用串流或非串流模式,token 計數都相同。使用串流以獲得更好的使用者體驗,但請為完整的 token 計數預算。

如果我觸及速率限制會發生什麼事?

若觸及每分鐘 300 次請求的速率限制,您的客戶端程式碼必須等待並重試。每次重試都會再次傳送相同的輸入 token,增加您的帳單。請實施指數退避演算法,以減少冗餘請求並節省 token。請密切監控請求速率,避免在高峰時段觸及限制。

一個帳戶可以使用多個 API 金鑰嗎?

否,每個帳戶只能有一個有效的 API 金鑰。如果您生成新金鑰,舊金鑰將變為無效。這意味著您無法在同一帳戶的多個金鑰之間分散使用量。請仔細追蹤金鑰使用情況,以免失去額度存取權。

取得您的 API 金鑰

註冊、取得金鑰、替換基礎 URL。完成。