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