diff --git a/src/api/providers/__tests__/bedrock-reasoning.spec.ts b/src/api/providers/__tests__/bedrock-reasoning.spec.ts index f8d9beb0eb7e..abf73ff8e974 100644 --- a/src/api/providers/__tests__/bedrock-reasoning.spec.ts +++ b/src/api/providers/__tests__/bedrock-reasoning.spec.ts @@ -182,7 +182,7 @@ describe("AwsBedrockHandler - Extended Thinking", () => { ) }) - it("should include topP when thinking is disabled", async () => { + it("should not include topP when thinking is disabled (global removal)", async () => { handler = new AwsBedrockHandler({ apiProvider: "bedrock", apiModelId: "anthropic.claude-3-7-sonnet-20250219-v1:0", @@ -216,10 +216,10 @@ describe("AwsBedrockHandler - Extended Thinking", () => { chunks.push(chunk) } - // Verify that topP IS present when thinking is disabled + // Verify that topP is NOT present for any model (removed globally) expect(mockSend).toHaveBeenCalledTimes(1) expect(capturedPayload).toBeDefined() - expect(capturedPayload.inferenceConfig).toHaveProperty("topP", 0.1) + expect(capturedPayload.inferenceConfig).not.toHaveProperty("topP") // Verify that additionalModelRequestFields is not present or empty expect(capturedPayload.additionalModelRequestFields).toBeUndefined() diff --git a/src/api/providers/bedrock.ts b/src/api/providers/bedrock.ts index e1f4863ca1a8..fc91dc2cb6dd 100644 --- a/src/api/providers/bedrock.ts +++ b/src/api/providers/bedrock.ts @@ -45,7 +45,6 @@ import type { SingleCompletionHandler, ApiHandlerCreateMessageMetadata } from ". interface BedrockInferenceConfig { maxTokens: number temperature?: number - topP?: number } // Define interface for Bedrock additional model request fields @@ -374,12 +373,8 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH maxTokens: modelConfig.maxTokens || (modelConfig.info.maxTokens as number), temperature: modelConfig.temperature ?? (this.options.modelTemperature as number), } - - if (!thinkingEnabled) { - inferenceConfig.topP = 0.1 - } - - // Check if 1M context is enabled for Claude Sonnet 4 / 4.5 + + // Check if 1M context is enabled for Claude Sonnet 4 // Use parseBaseModelId to handle cross-region inference prefixes const baseModelId = this.parseBaseModelId(modelConfig.id) const is1MContextEnabled = @@ -649,7 +644,6 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH const inferenceConfig: BedrockInferenceConfig = { maxTokens: modelConfig.maxTokens || (modelConfig.info.maxTokens as number), temperature: modelConfig.temperature ?? (this.options.modelTemperature as number), - ...(thinkingEnabled ? {} : { topP: 0.1 }), // Only set topP when thinking is NOT enabled } // For completePrompt, use a unique conversation ID based on the prompt