Skip to content

Commit bda3ee6

Browse files
fix: handle ModelResponse cache return in responses bridge and drop dead acompletion check
Co-authored-by: Yassin Kortam <[email protected]>
1 parent 9e32844 commit bda3ee6

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

litellm/caching/caching_handler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -868,9 +868,7 @@ def _convert_cached_result_to_model_response(
868868
elif (call_type == "aresponses" or call_type == "responses") and isinstance(
869869
cached_result, dict
870870
):
871-
use_chat_completion_cache = kwargs.get(
872-
"acompletion"
873-
) is True or _is_chat_completion_cached_dict(cached_result)
871+
use_chat_completion_cache = _is_chat_completion_cached_dict(cached_result)
874872
if use_chat_completion_cache:
875873
if kwargs.get("stream", False) is True:
876874
bridge_call_type = (

litellm/completion_extras/litellm_responses_transformation/handler.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ def completion(self, *args, **kwargs) -> Union[
186186
**request_data,
187187
)
188188

189+
from litellm.types.utils import ModelResponse
190+
189191
stream = self._resolve_stream_flag(optional_params, litellm_params)
190192
if isinstance(result, ResponsesAPIResponse):
191193
return self.transformation_handler.transform_response(
@@ -201,6 +203,8 @@ def completion(self, *args, **kwargs) -> Union[
201203
api_key=kwargs.get("api_key"),
202204
json_mode=kwargs.get("json_mode"),
203205
)
206+
elif isinstance(result, ModelResponse):
207+
return result
204208
elif not stream:
205209
responses_api_response = self._collect_response_from_stream(result)
206210
return self.transformation_handler.transform_response(
@@ -269,6 +273,8 @@ async def acompletion(
269273
aresponses=True,
270274
)
271275

276+
from litellm.types.utils import ModelResponse
277+
272278
stream = self._resolve_stream_flag(optional_params, litellm_params)
273279
if isinstance(result, ResponsesAPIResponse):
274280
return self.transformation_handler.transform_response(
@@ -284,6 +290,8 @@ async def acompletion(
284290
api_key=kwargs.get("api_key"),
285291
json_mode=kwargs.get("json_mode"),
286292
)
293+
elif isinstance(result, ModelResponse):
294+
return result
287295
elif not stream:
288296
responses_api_response = await self._collect_response_from_stream_async(
289297
result

tests/local_testing/test_caching_handler.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,6 @@ def test_convert_cached_aresponses_bridge_chat_completion_stream():
11151115
kwargs={
11161116
"model": "gpt-5.4",
11171117
"stream": True,
1118-
"acompletion": True,
11191118
"messages": [{"role": "user", "content": "hi"}],
11201119
},
11211120
logging_obj=logging_obj,

0 commit comments

Comments
 (0)