diff --git a/api/config.go b/api/config.go index c9a8092..9f10033 100644 --- a/api/config.go +++ b/api/config.go @@ -281,7 +281,7 @@ func updateConfig(config *Config, input *OpenAIRequest) { n, exists := fnc["name"] if exists { nn, e := n.(string) - if !e { + if e { name = nn } } diff --git a/api/openai.go b/api/openai.go index 37472f2..71bf391 100644 --- a/api/openai.go +++ b/api/openai.go @@ -421,15 +421,15 @@ func chatEndpoint(cm *ConfigMerger, o *Option) func(c *fiber.Ctx) error { processFunctions = true + // Append the no action function + funcs = append(funcs, input.Functions...) + funcs = append(funcs, noActionGrammar) + // Force picking one of the functions by the request if config.functionCallNameString != "" { funcs = funcs.Select(config.functionCallNameString) } - // Append the no action function - funcs = append(funcs, input.Functions...) - funcs = append(funcs, noActionGrammar) - // Update input grammar jsStruct := funcs.ToJSONStructure() config.Grammar = jsStruct.Grammar("") @@ -452,7 +452,7 @@ func chatEndpoint(cm *ConfigMerger, o *Option) func(c *fiber.Ctx) error { roleFn := "assistant_function_call" r := config.Roles[roleFn] if r != "" { - role = roleFn + role = r } } r := config.Roles[role]