diff options
| author | Grail Finder <wohilas@gmail.com> | 2025-12-19 11:06:22 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2025-12-19 11:06:22 +0300 |
| commit | 67ea1aef0dafb9dc6f82e009cc1ecc613f71e520 (patch) | |
| tree | 331743d4edc223508e96055c0ec5753901273b57 /agent/request.go | |
| parent | 5f852418d8d12868df83a9591b15e0846971fff9 (diff) | |
Feat: two agent types; WebAgentB impl
Diffstat (limited to 'agent/request.go')
| -rw-r--r-- | agent/request.go | 22 |
1 files changed, 22 insertions, 0 deletions
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") |
