fix(utils.py): handle key error in msg validation

This commit is contained in:
Krrish Dholakia 2025-02-06 09:11:19 -08:00
parent bcfa641b81
commit 88e93f9f64
2 changed files with 16 additions and 0 deletions

View file

@ -5884,6 +5884,10 @@ def validate_chat_completion_user_messages(messages: List[AllMessageValues]):
if item.get("type") not in ValidUserMessageContentTypes:
raise Exception("invalid content type")
except Exception as e:
if isinstance(e, KeyError):
raise Exception(
f"Invalid message={m} at index {idx}. Please ensure all messages are valid OpenAI chat completion messages."
)
if "invalid content type" in str(e):
raise Exception(
f"Invalid user message={m} at index {idx}. Please ensure all user messages are valid OpenAI chat completion messages."

View file

@ -1850,3 +1850,15 @@ def test_dict_to_response_format_helper():
"ref_template": "/$defs/{model}",
}
_dict_to_response_format_helper(**args)
def test_validate_user_messages_invalid_content_type():
from litellm.utils import validate_chat_completion_user_messages
messages = [{"content": [{"type": "invalid_type", "text": "Hello"}]}]
with pytest.raises(Exception) as e:
validate_chat_completion_user_messages(messages)
assert "Invalid message" in str(e)
print(e)