Generalize Continuous SystemMessage merging via model_info[“multiple_system_messages”] instead of startswith("gemini-")
#6345
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.
Why are these changes needed?
The current implementation of consecutive
SystemMessage
merging applies only to models wheremodel_info.family
starts with"gemini-"
.Since PR #6327 introduced the
multiple_system_messages
field inmodel_info
, we can now generalize this logic by checking whether the field is explicitly set toFalse
.This change replaces the hardcoded family check with a conditional that merges consecutive
SystemMessage
blocks whenevermultiple_system_messages
is set toFalse
.Test cases that previously depended on the
"gemini"
model family have been updated to reflect this configuration flag, and renamed accordingly for clarity.In addition, for consistency across conditional logic, a follow-up PR is planned to refactor the Claude-specific transformation condition
(currently implemented via
create_args.get("model", "unknown").startswith("claude-")
)to instead use the existing
is_claude()
.Related issue number
Checks