Skip to content

Commit

Permalink
fix(utils.py): handle key error in msg validation
Browse files Browse the repository at this point in the history
  • Loading branch information
krrishdholakia committed Feb 6, 2025
1 parent bcfa641 commit 88e93f9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions litellm/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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."
Expand Down
12 changes: 12 additions & 0 deletions tests/litellm_utils_tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

0 comments on commit 88e93f9

Please sign in to comment.