Cover Edge Case: Empty array instead of None for Assistant tool calls #61
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.
Hey didn't see any contributing guidelines so let me know if I can clean up this PR more
Adding an empty array check for assistant message normalization to account for a bug I had encountered working with langchain AIMessage default behavior (but also could be a valid edge case working purely with mistral).
When passing an assistant message to normalizer, if the assistant message has
[]
as tool calls instead ofNone
, the content will not be added to the message. Having a message withcontent = None
causes errors on chat serving endpoints downstream e.g. vLLMCurrent Behavior:
If
[]
is passed to this function, the if statement will evaluate asTrue
, making it so that theelif
statement is skipped and any message content is ignored.Proposed behavior
If
[]
is passed to this function, the if statement will evaluate asFalse
, making it so that theelif
statement will add its message content.Hopefully this helps keep our AI ecosystem bug free 👍