Merge pull request #790 from rordd/fix/gemini-prompt-cache-key

fix: exclude prompt_cache_key for Gemini API requests
This commit is contained in:
美電球
2026-02-26 13:17:28 +08:00
committed by GitHub
+5 -1
View File
@@ -115,8 +115,12 @@ func (p *Provider) Chat(
// with the same key and reuse prefix KV cache across calls.
// The key is typically the agent ID — stable per agent, shared across requests.
// See: https://platform.openai.com/docs/guides/prompt-caching
// Prompt caching is only supported by OpenAI-native endpoints.
// Gemini and other providers reject unknown fields, so skip for non-OpenAI APIs.
if cacheKey, ok := options["prompt_cache_key"].(string); ok && cacheKey != "" {
requestBody["prompt_cache_key"] = cacheKey
if !strings.Contains(p.apiBase, "generativelanguage.googleapis.com") {
requestBody["prompt_cache_key"] = cacheKey
}
}
jsonData, err := json.Marshal(requestBody)