fix: deduplicate extra-field stripping, use _strip_extra_fields in main loop

This commit is contained in:
factnn 2026-06-22 12:34:46 +08:00
parent ccfdc915cb
commit 657244be15

View file

@ -265,16 +265,10 @@ class MistralConfig(OpenAIGPTConfig):
if MistralConfig._is_empty_assistant_message(m):
continue
m = strip_none_values_from_message(m) # prevents 'extra_forbidden' error
# GH#30882: strip fields not permitted by Mistral
# (additionalProperties: false on their message schema)
if isinstance(m, dict):
m.pop("metadata", None)
m.pop("provider_specific_fields", None)
m.pop("thinking_blocks", None)
m.pop("cache_control", None)
m.pop("reasoning_content", None)
new_messages.append(m)
new_messages = self._strip_extra_fields(new_messages)
if is_async:
return super()._transform_messages(new_messages, model, True)
else: