From 67ea1aef0dafb9dc6f82e009cc1ecc613f71e520 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Fri, 19 Dec 2025 11:06:22 +0300 Subject: Feat: two agent types; WebAgentB impl --- agent/request.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'agent/request.go') diff --git a/agent/request.go b/agent/request.go index 3b8d083..e10f03f 100644 --- a/agent/request.go +++ b/agent/request.go @@ -1,7 +1,10 @@ package agent import ( + "bytes" + "encoding/json" "gf-lt/config" + "gf-lt/models" "io" "log/slog" "net/http" @@ -23,9 +26,28 @@ func NewAgentClient(cfg *config.Config, log slog.Logger, gt func() string) *Agen } } +func (ag *AgentClient) FormMsg(sysprompt, msg string) (io.Reader, error) { + agentConvo := []models.RoleMsg{ + {Role: "system", Content: sysprompt}, + {Role: "user", Content: msg}, + } + agentChat := &models.ChatBody{ + Model: ag.cfg.CurrentModel, + Stream: true, + Messages: agentConvo, + } + b, err := json.Marshal(agentChat) + if err != nil { + ag.log.Error("failed to form agent msg", "error", err) + return nil, err + } + return bytes.NewReader(b), nil +} + func (ag *AgentClient) LLMRequest(body io.Reader) ([]byte, error) { req, err := http.NewRequest("POST", ag.cfg.CurrentAPI, body) if err != nil { + ag.log.Error("llamacpp api", "error", err) return nil, err } req.Header.Add("Accept", "application/json") -- cgit v1.2.3