diff --git a/extensions/src/AWSSDK.Extensions.Bedrock.MEAI/BedrockChatClient.cs b/extensions/src/AWSSDK.Extensions.Bedrock.MEAI/BedrockChatClient.cs index bfe33dbda368..a630201132f9 100644 --- a/extensions/src/AWSSDK.Extensions.Bedrock.MEAI/BedrockChatClient.cs +++ b/extensions/src/AWSSDK.Extensions.Bedrock.MEAI/BedrockChatClient.cs @@ -77,7 +77,6 @@ public async Task GetResponseAsync( request.System = CreateSystem(request.System, messages, options); request.ToolConfig = CreateToolConfig(request.ToolConfig, options); request.InferenceConfig = CreateInferenceConfiguration(request.InferenceConfig, options); - request.AdditionalModelRequestFields = CreateAdditionalModelRequestFields(request.AdditionalModelRequestFields, options); var response = await _runtime.ConverseAsync(request, cancellationToken).ConfigureAwait(false); @@ -188,7 +187,6 @@ public async IAsyncEnumerable GetStreamingResponseAsync( request.System = CreateSystem(request.System, messages, options); request.ToolConfig = CreateToolConfig(request.ToolConfig, options); request.InferenceConfig = CreateInferenceConfiguration(request.InferenceConfig, options); - request.AdditionalModelRequestFields = CreateAdditionalModelRequestFields(request.AdditionalModelRequestFields, options); var result = await _runtime.ConverseStreamAsync(request, cancellationToken).ConfigureAwait(false); @@ -895,61 +893,4 @@ private static InferenceConfiguration CreateInferenceConfiguration(InferenceConf return config; } - - /// Creates a from the specified options to use as the additional model request options. - private static Document CreateAdditionalModelRequestFields(Document d, ChatOptions? options) - { - if (options is not null) - { - if (options.TopK is int topK) - { - d.Add("k", topK); - } - - if (options.FrequencyPenalty is float frequencyPenalty) - { - d.Add("frequency_penalty", frequencyPenalty); - } - - if (options.PresencePenalty is float presencePenalty) - { - d.Add("presence_penalty", presencePenalty); - } - - if (options.Seed is long seed) - { - d.Add("seed", seed); - } - - if (options.AdditionalProperties is { } props) - { - foreach (KeyValuePair prop in props) - { - switch (prop.Value) - { - case bool propBool: d.Add(prop.Key, propBool); break; - case int propInt32: d.Add(prop.Key, propInt32); break; - case long propInt64: d.Add(prop.Key, propInt64); break; - case float propSingle: d.Add(prop.Key, propSingle); break; - case double propDouble: d.Add(prop.Key, propDouble); break; - case string propString: d.Add(prop.Key, propString); break; - case null: d.Add(prop.Key, default); break; - case JsonElement json: d.Add(prop.Key, ToDocument(json)); break; - default: - try - { - d.Add(prop.Key, ToDocument(JsonSerializer.SerializeToElement(prop.Value, BedrockJsonContext.DefaultOptions.GetTypeInfo(prop.Value.GetType())))); - } - catch (Exception e) - { - DefaultLogger.Debug(e, "Unable to serialize ChatOptions.AdditionalProperties[\"{0}\"] of type {1}", prop.Key, prop.Value?.GetType()); - } - break; - } - } - } - } - - return d; - } } diff --git a/generator/.DevConfigs/f5ba0709-22d9-41d1-be73-dea5a3988a66.json b/generator/.DevConfigs/f5ba0709-22d9-41d1-be73-dea5a3988a66.json new file mode 100644 index 000000000000..e667a1b0e926 --- /dev/null +++ b/generator/.DevConfigs/f5ba0709-22d9-41d1-be73-dea5a3988a66.json @@ -0,0 +1,11 @@ +{ + "extensions": [ + { + "extensionName": "Extensions.Bedrock.MEAI", + "type": "patch", + "changeLogMessages": [ + "Remove `CreateAdditionalModelRequestFields` from `BedrockChatClient`" + ] + } + ] +} \ No newline at end of file