Claude Code - 提示快取路由
Claude 的 提示快取 功能可透過嘗試快取提示,並在後續 API 請求中重複使用已快取的提示,以協助最佳化 API 使用。Claude Code 會使用此功能。
當啟用 LiteLLM 負載平衡 時,為確保這個提示快取功能在 Claude Code 中仍可正常運作,LiteLLM 需要設定為使用 PromptCachingDeploymentCheck pre-call 檢查。這個 pre-call 檢查會確保使用提示快取的 API 請求會被記住,且後續嘗試使用該提示快取的 API 請求會路由到發生 cache 寫入的同一個模型部署。
設定
- 設定路由器,讓它使用
PromptCachingDeploymentCheck(透過設定optional_pre_call_checks屬性),並設定模型以便它們能存取 Claude 的多個部署;下方我們示範多個 AWS 帳戶(分別稱為account-1和account-2,並使用aws_profile_name屬性)的範例:
router_settings:
optional_pre_call_checks: ["prompt_caching"]
model_list:
- litellm_params:
model: us.anthropic.claude-sonnet-5
aws_profile_name: account-1
aws_region_name: us-west-2
model_info:
litellm_provider: bedrock
model_name: us.anthropic.claude-sonnet-5
- litellm_params:
model: us.anthropic.claude-sonnet-5
aws_profile_name: account-2
aws_region_name: us-west-2
model_info:
litellm_provider: bedrock
model_name: us.anthropic.claude-sonnet-5
- 執行 Claude Code:
- 啟動 Claude Code,它會進行一次預熱 API 請求,嘗試快取其預熱提示與系統提示。
- 等待幾秒,然後關閉 Claude Code 並重新開啟。
- 您會注意到,預熱 API 請求成功取得快取命中(如果是在像 VS Code 這樣的 IDE 中使用 Claude Code,請確保在此處步驟 2.1 與 2.2 之間不要執行任何操作,否則可能不會有快取命中):
- 前往 Admin UI 中的 LiteLLM 請求記錄頁面
- 點擊個別請求以查看 (a) 快取建立與快取讀取 tokens;以及 (b) Model ID。特別是,步驟 2.1 的 API 請求應顯示快取寫入,而步驟 2.2 的 API 請求應顯示快取讀取;此外,Model ID 應相同(表示 API 請求被轉送到同一個 AWS 帳戶)。