From 59508cab67112bd89377b2df81610dcedef2eb82 Mon Sep 17 00:00:00 2001
From: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
Date: Tue, 6 Feb 2024 11:51:03 +0000
Subject: [PATCH] .Net: Update azure.ai.openai to beta 13 (#4861)
### Motivation and Context
### Description
### Contribution Checklist
- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone :smile:
---
dotnet/Directory.Packages.props | 2 +-
.../Connectors.OpenAI/AzureSdk/ClientCore.cs | 2 +-
.../AzureSdk/OpenAIFunctionToolCall.cs | 12 +-----------
3 files changed, 3 insertions(+), 13 deletions(-)
diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props
index 66ef426bde8a..49d0d3adf91b 100644
--- a/dotnet/Directory.Packages.props
+++ b/dotnet/Directory.Packages.props
@@ -5,7 +5,7 @@
true
-
+
diff --git a/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/ClientCore.cs b/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/ClientCore.cs
index 262843239f3a..f6ad2f191cf6 100644
--- a/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/ClientCore.cs
+++ b/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/ClientCore.cs
@@ -914,7 +914,7 @@ private static ChatRequestMessage GetRequestMessage(ChatMessageContent message)
name.ValueKind == JsonValueKind.String &&
arguments.ValueKind == JsonValueKind.String)
{
- ftcs.Add(OpenAIFunctionToolCall.CreateChatCompletionsFunctionToolCall(id.GetString()!, name.GetString()!, arguments.GetString()!));
+ ftcs.Add(new ChatCompletionsFunctionToolCall(id.GetString()!, name.GetString()!, arguments.GetString()!));
}
}
tools = ftcs;
diff --git a/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/OpenAIFunctionToolCall.cs b/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/OpenAIFunctionToolCall.cs
index 2b6f9232b32b..f6ef3b489dfc 100644
--- a/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/OpenAIFunctionToolCall.cs
+++ b/dotnet/src/Connectors/Connectors.OpenAI/AzureSdk/OpenAIFunctionToolCall.cs
@@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Reflection;
using System.Text;
using System.Text.Json;
using Azure.AI.OpenAI;
@@ -159,7 +158,7 @@ internal static ChatCompletionsFunctionToolCall[] ConvertToolCallUpdatesToChatCo
functionNamesByIndex?.TryGetValue(toolCallIndexAndId.Key, out functionName);
functionArgumentBuildersByIndex?.TryGetValue(toolCallIndexAndId.Key, out functionArguments);
- toolCalls[i] = CreateChatCompletionsFunctionToolCall(toolCallIndexAndId.Value, functionName ?? string.Empty, functionArguments?.ToString() ?? string.Empty);
+ toolCalls[i] = new ChatCompletionsFunctionToolCall(toolCallIndexAndId.Value, functionName ?? string.Empty, functionArguments?.ToString() ?? string.Empty);
i++;
}
@@ -168,13 +167,4 @@ internal static ChatCompletionsFunctionToolCall[] ConvertToolCallUpdatesToChatCo
return toolCalls;
}
-
- // TODO: Remove this temporary hack once the Azure SDK has been updated to set `base.Type = "function"` in the ChatCompletionsFunctionToolCall ctor
- internal static ChatCompletionsFunctionToolCall CreateChatCompletionsFunctionToolCall(string id, string name, string arguments)
- {
- var c = new ChatCompletionsFunctionToolCall(id, name, arguments);
- s_type?.SetValue(c, "function");
- return c;
- }
- private static readonly PropertyInfo? s_type = typeof(ChatCompletionsToolCall).GetProperty("Type", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
}