From 7167f193c02520440420a8e88099620fc81b8470 Mon Sep 17 00:00:00 2001 From: Oleksiy Syvokon Date: Tue, 12 Aug 2025 21:51:23 +0300 Subject: [PATCH] open_ai: Send `prompt_cache_key` to improve caching (#36065) Release Notes: - N/A Co-authored-by: Michael Sloan --- crates/language_models/src/provider/open_ai.rs | 1 + crates/open_ai/src/open_ai.rs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/crates/language_models/src/provider/open_ai.rs b/crates/language_models/src/provider/open_ai.rs index 2879b01ff3cbc05d8ae523e8253fb6bede787fe1..9eac58c880fcc3639d5d725a94d7f477d3bae9f1 100644 --- a/crates/language_models/src/provider/open_ai.rs +++ b/crates/language_models/src/provider/open_ai.rs @@ -473,6 +473,7 @@ pub fn into_open_ai( } else { None }, + prompt_cache_key: request.thread_id, tools: request .tools .into_iter() diff --git a/crates/open_ai/src/open_ai.rs b/crates/open_ai/src/open_ai.rs index a6fd03a296baaa4b92da252b77564a6a0476c941..919b1d9ebf05de783422eeb7b97779e9fffce052 100644 --- a/crates/open_ai/src/open_ai.rs +++ b/crates/open_ai/src/open_ai.rs @@ -244,6 +244,8 @@ pub struct Request { pub parallel_tool_calls: Option, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub tools: Vec, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub prompt_cache_key: Option, } #[derive(Debug, Serialize, Deserialize)]