diff --git a/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/AzureAIInferenceChatClient.cs b/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/AzureAIInferenceChatClient.cs index 125449689c4..263830b5ba3 100644 --- a/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/AzureAIInferenceChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI.AzureAIInference/AzureAIInferenceChatClient.cs @@ -480,15 +480,15 @@ private static List GetContentParts(IList con switch (content) { case TextContent textContent: - (parts ??= []).Add(new ChatMessageTextContentItem(textContent.Text)); + parts.Add(new ChatMessageTextContentItem(textContent.Text)); break; case ImageContent imageContent when imageContent.Data is { IsEmpty: false } data: - (parts ??= []).Add(new ChatMessageImageContentItem(BinaryData.FromBytes(data), imageContent.MediaType)); + parts.Add(new ChatMessageImageContentItem(BinaryData.FromBytes(data), imageContent.MediaType)); break; case ImageContent imageContent when imageContent.Uri is string uri: - (parts ??= []).Add(new ChatMessageImageContentItem(new Uri(uri))); + parts.Add(new ChatMessageImageContentItem(new Uri(uri))); break; } } diff --git a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIChatClient.cs b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIChatClient.cs index 6bcf83a7616..ab035aa327b 100644 --- a/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIChatClient.cs +++ b/src/Libraries/Microsoft.Extensions.AI.OpenAI/OpenAIChatClient.cs @@ -530,8 +530,6 @@ private sealed class OpenAIChatToolJson { AIContent? aiContent = null; - AdditionalPropertiesDictionary? additionalProperties = null; - if (contentPart.Kind == ChatMessageContentPartKind.Text) { aiContent = new TextContent(contentPart.Text); @@ -546,7 +544,7 @@ private sealed class OpenAIChatToolJson if (imageContent is not null && contentPart.ImageDetailLevel?.ToString() is string detail) { - (additionalProperties ??= [])[nameof(contentPart.ImageDetailLevel)] = detail; + (imageContent.AdditionalProperties ??= [])[nameof(contentPart.ImageDetailLevel)] = detail; } } @@ -554,10 +552,9 @@ private sealed class OpenAIChatToolJson { if (contentPart.Refusal is string refusal) { - (additionalProperties ??= [])[nameof(contentPart.Refusal)] = refusal; + (aiContent.AdditionalProperties ??= [])[nameof(contentPart.Refusal)] = refusal; } - aiContent.AdditionalProperties = additionalProperties; aiContent.RawRepresentation = contentPart; } @@ -641,15 +638,15 @@ private static List GetContentParts(IList con switch (content) { case TextContent textContent: - (parts ??= []).Add(ChatMessageContentPart.CreateTextPart(textContent.Text)); + parts.Add(ChatMessageContentPart.CreateTextPart(textContent.Text)); break; case ImageContent imageContent when imageContent.Data is { IsEmpty: false } data: - (parts ??= []).Add(ChatMessageContentPart.CreateImagePart(BinaryData.FromBytes(data), imageContent.MediaType)); + parts.Add(ChatMessageContentPart.CreateImagePart(BinaryData.FromBytes(data), imageContent.MediaType)); break; case ImageContent imageContent when imageContent.Uri is string uri: - (parts ??= []).Add(ChatMessageContentPart.CreateImagePart(new Uri(uri))); + parts.Add(ChatMessageContentPart.CreateImagePart(new Uri(uri))); break; } }