summaryrefslogtreecommitdiff
path: root/agent/request.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-12-19 11:06:22 +0300
committerGrail Finder <wohilas@gmail.com>2025-12-19 11:06:22 +0300
commit67ea1aef0dafb9dc6f82e009cc1ecc613f71e520 (patch)
tree331743d4edc223508e96055c0ec5753901273b57 /agent/request.go
parent5f852418d8d12868df83a9591b15e0846971fff9 (diff)
Feat: two agent types; WebAgentB impl
Diffstat (limited to 'agent/request.go')
-rw-r--r--agent/request.go22
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")