From 6c83f3d0896b0fdd2fa0a82e0d67f3e671494aac Mon Sep 17 00:00:00 2001 From: mudler Date: Sun, 2 Mar 2025 17:45:06 +0100 Subject: [PATCH] refactorings --- core/agent/agent.go | 60 +++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/core/agent/agent.go b/core/agent/agent.go index 053c2a0..6a11a4d 100644 --- a/core/agent/agent.go +++ b/core/agent/agent.go @@ -299,36 +299,38 @@ func (a *Agent) knowledgeBaseLookup() { } xlog.Info("[Knowledge Base Lookup] Last user message", "agent", a.Character.Name, "message", userMessage) - if userMessage != "" { - results, err := a.options.ragdb.Search(userMessage, a.options.kbResults) - if err != nil { - xlog.Info("Error finding similar strings inside KB:", "error", err) - - // job.Result.Finish(fmt.Errorf("error finding similar strings inside KB: %w", err)) - // return - } - - if len(results) != 0 { - - formatResults := "" - for _, r := range results { - formatResults += fmt.Sprintf("- %s \n", r) - } - xlog.Info("[Knowledge Base Lookup] Found similar strings in KB", "agent", a.Character.Name, "results", formatResults) - - // a.currentConversation = append(a.currentConversation, - // openai.ChatCompletionMessage{ - // Role: "system", - // Content: fmt.Sprintf("Given the user input you have the following in memory:\n%s", formatResults), - // }, - // ) - a.currentConversation = append([]openai.ChatCompletionMessage{ - { - Role: "system", - Content: fmt.Sprintf("Given the user input you have the following in memory:\n%s", formatResults), - }}, a.currentConversation...) - } + if userMessage == "" { + xlog.Info("[Knowledge Base Lookup] No user message found in conversation", "agent", a.Character.Name) + return } + + results, err := a.options.ragdb.Search(userMessage, a.options.kbResults) + if err != nil { + xlog.Info("Error finding similar strings inside KB:", "error", err) + } + + if len(results) == 0 { + xlog.Info("[Knowledge Base Lookup] No similar strings found in KB", "agent", a.Character.Name) + return + } + + formatResults := "" + for _, r := range results { + formatResults += fmt.Sprintf("- %s \n", r) + } + xlog.Info("[Knowledge Base Lookup] Found similar strings in KB", "agent", a.Character.Name, "results", formatResults) + + // a.currentConversation = append(a.currentConversation, + // openai.ChatCompletionMessage{ + // Role: "system", + // Content: fmt.Sprintf("Given the user input you have the following in memory:\n%s", formatResults), + // }, + // ) + a.currentConversation = append([]openai.ChatCompletionMessage{ + { + Role: "system", + Content: fmt.Sprintf("Given the user input you have the following in memory:\n%s", formatResults), + }}, a.currentConversation...) } func (a *Agent) consumeJob(job *Job, role string) {