From 6ae73c0c69e015dced1ad91238f20dc4c8f8ac94 Mon Sep 17 00:00:00 2001 From: Kane Zhu <843303+zxkane@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:41:52 +0800 Subject: [PATCH] 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. --- src/api/models/bedrock.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/api/models/bedrock.py b/src/api/models/bedrock.py index 0aef748..d5d6648 100644 --- a/src/api/models/bedrock.py +++ b/src/api/models/bedrock.py @@ -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