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 接口。緩存命中不計入供應商速率限制(因為請求未到達供應商),並且在活動日誌中會顯示緩存指示器,方便監控。更多詳情請參閲官方文檔。