AI News HubLIVE
站內改寫2 分鐘閱讀

響應快取:相同請求零成本 | OpenRouter

OpenRouter 推出響應快取功能,允許開發者快取相同的 API 請求,以毫秒級響應返回結果且不計費。快取位於供應商之前,對請求細節進行雜湊處理。支援流式和非流式,適用於多種端點,並提供 TTL 控制和快取清除等功能。適用於代理重試、測試套件和重複提示等場景。

OpenRouter 近日宣佈推出響應快取功能,允許開發者透過新增請求頭來快取完全相同的 API 呼叫,從而大幅降低延遲和成本。該功能在模型供應商之前設定一個快取層,當請求啟用快取時,OpenRouter 會對請求體、模型、API 金鑰和流式模式進行雜湊,生成唯一的快取鍵。如果之前有過相同的請求且未過期,快取響應將立即返回,無需呼叫供應商,也不消耗任何令牌。

快取功能同時支援流式和非流式請求。對於流式快取響應,系統會透過相同的管道重放,因此客戶端程式碼無需任何更改。文本、影像、音訊、文件和工具呼叫均可正常快取。多模態輸入(如 base64 影像、音訊剪輯、檔案附件)也會包含在快取鍵雜湊中。但需注意,非常大的多模態載荷(內部解除安裝處理)不適合快取。標準大小的請求則完全相容。

需要注意的是,響應快取與提示快取不同。提示快取(許多供應商原生支援)在訊息共享公共字首時降低提示部分的成本;而響應快取則完全跳過供應商,直接從 OpenRouter 的邊緣快取返回完整響應。

快取響應時間極短,通常在 80-300 毫秒之間,其中大部分是序列化和網路傳輸時間,快取查詢本身平均僅需 4 毫秒。相比之下,典型的未快取請求——例如 Gemini 2.5 Flash 需要約 1.3 秒,Kimi K2.6 需要 4.6 秒,GPT-5.5 需要 9.1 秒。快取命中的計費為零:不收取提示令牌、完成令牌,完全免費。

啟用快取非常簡單:在每個希望快取的 API 呼叫中新增 X-OpenRouter-Cache: true 請求頭即可。此外,還可以透過預設(Presets)配置,在預設配置中設定 cache_enabled: true,這樣所有使用該預設的請求都會自動啟用快取,無需在每個請求中額外新增頭。使用者還可以透過 X-OpenRouter-Cache-TTL 控制快取持續時間(1 秒到 24 小時,預設 5 分鐘)。如果需要強制獲取最新響應,可以傳送 X-OpenRouter-Cache-Clear: true 來清除指定請求的快取。OpenRouter 還會在響應頭中返回快取狀態資訊:X-OpenRouter-Cache-Status 指示命中或未命中,X-OpenRouter-Cache-Age 和 X-OpenRouter-Cache-TTL 幫助使用者瞭解快取效能。

該功能在多個場景下尤為有用。例如,在代理重試中,當代理工作流中途失敗時,可以從頭重試,快取步驟會瞬間且免費返回,使用者只需為新工作付費。在測試套件中,可以反覆執行 LLM 支援的測試而無需消耗令牌,首次執行填充快取後,後續執行既確定又免費。對於重複上下文處理,如果應用向同一模型傳送相同的提示(相同系統提示、相同使用者輸入、相同引數),只有第一次呼叫需要付費。

目前,響應快取適用於包括 /chat/completions、/responses、/messages 和 /embeddings 在內的多數生成端點。其他端點如舊版 /completions、/audio/speech(TTS)、/audio/transcriptions(STT)、/rerank 和影片生成暫不支援。該功能目前處於測試階段,OpenRouter 正在觀察效能表現,然後再鎖定 API 介面。快取命中不計入供應商速率限制(因為請求未到達供應商),並且在活動日誌中會顯示快取指示器,方便監控。更多詳情請參閱官方文件。