fix: merge additionalModelRequestFields instead of overwriting

When both reasoning_effort and extra_body are provided,
additionalModelRequestFields set by reasoning_effort (containing
reasoning_config) was silently overwritten by extra_body processing.
This prevented features like anthropic_beta for 1M context from
coexisting with reasoning_effort.
This commit is contained in:
Kane Zhu
2026-03-10 16:41:52 +08:00
parent d1dc4ed164
commit 6ae73c0c69

View File

@@ -874,8 +874,10 @@ class BedrockModel(BaseChatModel):
}
if additional_fields:
# Only set additionalModelRequestFields if there are actual fields to pass
args["additionalModelRequestFields"] = additional_fields
# Merge with existing additionalModelRequestFields (e.g., from reasoning_effort)
existing = args.get("additionalModelRequestFields", {})
existing.update(additional_fields)
args["additionalModelRequestFields"] = existing
# Extended thinking doesn't support both temperature and topP
# Remove topP to avoid validation error