diff options
| -rw-r--r-- | agent/request.go | 4 | ||||
| -rw-r--r-- | agent/webagent.go | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/agent/request.go b/agent/request.go index e10f03f..2d557ac 100644 --- a/agent/request.go +++ b/agent/request.go @@ -26,6 +26,10 @@ func NewAgentClient(cfg *config.Config, log slog.Logger, gt func() string) *Agen } } +func (ag *AgentClient) Log() *slog.Logger { + return &ag.log +} + func (ag *AgentClient) FormMsg(sysprompt, msg string) (io.Reader, error) { agentConvo := []models.RoleMsg{ {Role: "system", Content: sysprompt}, diff --git a/agent/webagent.go b/agent/webagent.go index 0087e8e..ff6cd86 100644 --- a/agent/webagent.go +++ b/agent/webagent.go @@ -2,19 +2,17 @@ package agent import ( "fmt" - "log/slog" ) // WebAgentB is a simple agent that applies formatting functions type WebAgentB struct { *AgentClient sysprompt string - log slog.Logger } // NewWebAgentB creates a WebAgentB that uses the given formatting function -func NewWebAgentB(sysprompt string) *WebAgentB { - return &WebAgentB{sysprompt: sysprompt} +func NewWebAgentB(client *AgentClient, sysprompt string) *WebAgentB { + return &WebAgentB{AgentClient: client, sysprompt: sysprompt} } // Process applies the formatting function to raw output @@ -22,12 +20,12 @@ func (a *WebAgentB) Process(args map[string]string, rawOutput []byte) []byte { msg, err := a.FormMsg(a.sysprompt, fmt.Sprintf("request:\n%+v\ntool response:\n%v", args, string(rawOutput))) if err != nil { - a.log.Error("failed to process the request", "error", err) + a.Log().Error("failed to process the request", "error", err) return []byte("failed to process the request; err: " + err.Error()) } resp, err := a.LLMRequest(msg) if err != nil { - a.log.Error("failed to process the request", "error", err) + a.Log().Error("failed to process the request", "error", err) return []byte("failed to process the request; err: " + err.Error()) } return resp |
