From c5867698987f0002a76a971595e9baa082aae06d Mon Sep 17 00:00:00 2001 From: dfedoryshchev Date: Sat, 25 Jul 2026 08:24:12 +0100 Subject: [PATCH] fix(bedrock): guard empty choices in mistral get_outputText --- .../amazon_mistral_transformation.py | 2 +- .../llms/bedrock/chat/test_mistral_config.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/litellm/llms/bedrock/chat/invoke_transformations/amazon_mistral_transformation.py b/litellm/llms/bedrock/chat/invoke_transformations/amazon_mistral_transformation.py index 58dfa17a722..8ad93ccabf8 100644 --- a/litellm/llms/bedrock/chat/invoke_transformations/amazon_mistral_transformation.py +++ b/litellm/llms/bedrock/chat/invoke_transformations/amazon_mistral_transformation.py @@ -99,7 +99,7 @@ def get_outputText(completion_response: dict, model_response: "ModelResponse") - A string with the response of the LLM """ - if "choices" in completion_response: + if "choices" in completion_response and len(completion_response["choices"]) > 0: outputText = completion_response["choices"][0]["message"]["content"] model_response.choices[0].finish_reason = completion_response["choices"][0]["finish_reason"] elif "outputs" in completion_response: diff --git a/tests/test_litellm/llms/bedrock/chat/test_mistral_config.py b/tests/test_litellm/llms/bedrock/chat/test_mistral_config.py index 42261cb3bb1..b5cb5e92ff5 100644 --- a/tests/test_litellm/llms/bedrock/chat/test_mistral_config.py +++ b/tests/test_litellm/llms/bedrock/chat/test_mistral_config.py @@ -1,6 +1,9 @@ +import pytest + from litellm.llms.bedrock.chat.invoke_transformations.amazon_mistral_transformation import ( AmazonMistralConfig, ) +from litellm.llms.bedrock.common_utils import BedrockError from litellm.types.utils import ModelResponse @@ -30,3 +33,12 @@ def test_mistral_get_outputText(): assert outputText == "Hi!" assert model_response.choices[0].finish_reason == "finish" + + +def test_mistral_get_outputText_empty_choices(): + model_response = ModelResponse() + + with pytest.raises(BedrockError): + AmazonMistralConfig.get_outputText( + completion_response={"choices": []}, model_response=model_response + )