From bb0511882e2318afcc50fb06f5b1e6aba0338bbc Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Mon, 17 Feb 2025 00:38:25 -0500 Subject: [PATCH] Update Microsoft.Extensions.AI to 9.3.0-preview.1.25114.11 --- ...tSharp.Plugin.MicrosoftExtensionsAI.csproj | 2 +- ...osoftExtensionsAIChatCompletionProvider.cs | 29 +++++++++---------- ...osoftExtensionsAITextCompletionProvider.cs | 2 +- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/BotSharp.Plugin.MicrosoftExtensionsAI.csproj b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/BotSharp.Plugin.MicrosoftExtensionsAI.csproj index 66a9a1d96..b2667f35a 100644 --- a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/BotSharp.Plugin.MicrosoftExtensionsAI.csproj +++ b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/BotSharp.Plugin.MicrosoftExtensionsAI.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAIChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAIChatCompletionProvider.cs index 67f1e5132..8619ecadf 100644 --- a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAIChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAIChatCompletionProvider.cs @@ -38,7 +38,7 @@ public MicrosoftExtensionsAIChatCompletionProvider( IServiceProvider services) { _client = client; - _model = _client.Metadata.ModelId; + _model = _client.GetService()?.ModelId; _logger = logger; _services = services; } @@ -71,14 +71,7 @@ public async Task GetChatCompletions(Agent agent, List>()?.Select(p => new AIFunctionParameterMetadata(p.Key) - { - Schema = p.Value, - }).ToList() ?? [], - })); + (options.Tools ??= []).Add(new NopAIFunction(function.Name, function.Description, JsonSerializer.SerializeToElement(property))); } } } @@ -111,7 +104,7 @@ public async Task GetChatCompletions(Agent agent, List>(x.FunctionArgs ?? "{}")), - new FunctionResultContent(x.FunctionName, x.FunctionName, x.Content) + new FunctionResultContent(x.FunctionName, x.Content) ])); } else if (x.Role == AgentRole.System || x.Role == AgentRole.Assistant) @@ -127,17 +120,17 @@ public async Task GetChatCompletions(Agent agent, List GetChatCompletions(Agent agent, List())) { @@ -175,9 +168,13 @@ public Task GetChatCompletionsAsync(Agent agent, List con public Task GetChatCompletionsStreamingAsync(Agent agent, List conversations, Func onMessageReceived) => throw new NotImplementedException(); - private sealed class NopAIFunction(AIFunctionMetadata metadata) : AIFunction + private sealed class NopAIFunction(string name, string description, JsonElement schema) : AIFunction { - public override AIFunctionMetadata Metadata { get; } = metadata; + public override string Name => name; + + public override string Description => description; + + public override JsonElement JsonSchema => schema; protected override Task InvokeCoreAsync(IEnumerable> arguments, CancellationToken cancellationToken) => throw new NotSupportedException(); diff --git a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAITextCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAITextCompletionProvider.cs index 152213c61..94d266780 100644 --- a/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAITextCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.MicrosoftExtensionsAI/MicrosoftExtensionsAITextCompletionProvider.cs @@ -49,7 +49,7 @@ public async Task GetCompletion(string text, string agentId, string mess await Task.WhenAll(hooks.Select(hook => hook.BeforeGenerating(agent, [userMessage]))); _tokenStatistics.StartTimer(); - var completion = await _chatClient.CompleteAsync(text); + var completion = await _chatClient.GetResponseAsync(text); var result = string.Concat(completion.Message.Contents.OfType()); _tokenStatistics.StopTimer();