fix: auto-normalize array of strings in message content to openai spec#2
Open
lkapadiya-DO wants to merge 2 commits into
Open
fix: auto-normalize array of strings in message content to openai spec#2lkapadiya-DO wants to merge 2 commits into
lkapadiya-DO wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Relevant issues
Fixes an observed issue where sending an array of strings in the
contentblock (e.g.,["what is the capital of France?"]) causes an internalAttributeError: 'str' object has no attribute 'get'. This previously bubbled up as a500 Internal Server Error, confusingly attaching the extractedllm_providerto the crash response.Linear ticket
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
tests/test_litellm/directory, Adding at least 1 test is a hard requirement - see detailsmake test-unit@greptileaiand received a Confidence Score of at least 4/5 before requesting a maintainer reviewDelays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
CI (LiteLLM team)
Branch creation CI run
Link:
CI run for the last commit
Link:
Merge / cherry-pick CI run
Links:
Screenshots / Proof of Fix
Before:
Sending an array of strings (e.g "content": ["what is the capital of France?"]) resulted in an internal crash that returned a 500 error containing internal proxy metadata:
After:
The array of strings is successfully caught and normalized into the strict OpenAI multi-modal dictionary spec before downstream processing, resulting in a successful 200 response:
[{"type": "text", "text": "what is the capital of France?"}](Tests passing successfully locally)
Type
🐛 Bug Fix
Changes
validate_and_fix_openai_messagesinlitellm/utils.pyto auto-normalize array-of-stringscontentinto standard OpenAI multi-modal dictionaries.