From 90c2bd75dfdf7aa0c8c01ca4519fa8f7ca56dcc8 Mon Sep 17 00:00:00 2001 From: Jicheng Lu <103353@smsassist.com> Date: Wed, 15 Jan 2025 15:46:03 -0600 Subject: [PATCH] refine gemini function parameter --- .../Chat/GeminiChatCompletionProvider.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs index 877070cd6..5930a6b93 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Chat/GeminiChatCompletionProvider.cs @@ -126,18 +126,19 @@ public void SetModelName(string model) if (!agentService.RenderFunction(agent, function)) continue; var def = agentService.RenderFunctionProperty(agent, function); - var str = JsonSerializer.Serialize(def?.Properties); + var props = JsonSerializer.Serialize(def?.Properties); + var parameters = !string.IsNullOrWhiteSpace(props) && props != "{}" ? new Schema() + { + Type = ParameterType.Object, + Properties = JsonSerializer.Deserialize(props), + Required = def?.Required ?? [] + } : null; funcDeclarations.Add(new FunctionDeclaration { Name = function.Name, Description = function.Description, - Parameters = str != "{}" ? new() - { - Type = ParameterType.Object, - Properties = JsonSerializer.Deserialize(str), - Required = def?.Required ?? [] - } : null + Parameters = parameters }); funcPrompts.Add($"{function.Name}: {function.Description} {def}");