Merge pull request #833 from iceljc/master

refine gemini function parameter
This commit is contained in:
iceljc 2025-01-15 15:46:22 -06:00 committed by GitHub
commit adc3cd5aa0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -126,18 +126,19 @@ public class GeminiChatCompletionProvider : IChatCompletion
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<dynamic>(props),
Required = def?.Required ?? []
} : null;
funcDeclarations.Add(new FunctionDeclaration
{
Name = function.Name,
Description = function.Description,
Parameters = str != "{}" ? new()
{
Type = ParameterType.Object,
Properties = JsonSerializer.Deserialize<dynamic>(str),
Required = def?.Required ?? []
} : null
Parameters = parameters
});
funcPrompts.Add($"{function.Name}: {function.Description} {def}");