summaryrefslogtreecommitdiff
path: root/llm.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-02-15 08:46:33 +0300
committerGrail Finder <wohilas@gmail.com>2025-02-15 08:46:33 +0300
commit83babd027140b7ae41743655fa016bf3551350c2 (patch)
tree9823fbb9305bfe1eac765cd4c8e9c634c90306c5 /llm.go
parent2b9c44eff9becf15e73c159349c5aeaa4ce68a0c (diff)
Fix: thinking
Diffstat (limited to 'llm.go')
-rw-r--r--llm.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/llm.go b/llm.go
index a5f70bf..89dedfc 100644
--- a/llm.go
+++ b/llm.go
@@ -30,9 +30,6 @@ type OpenAIer struct {
func (lcp LlamaCPPeer) FormMsg(msg, role string) (io.Reader, error) {
if msg != "" { // otherwise let the bot continue
- // if role == cfg.UserRole {
- // msg = msg + cfg.AssistantRole + ":"
- // }
newMsg := models.RoleMsg{Role: role, Content: msg}
chatBody.Messages = append(chatBody.Messages, newMsg)
// if rag
@@ -51,11 +48,17 @@ func (lcp LlamaCPPeer) FormMsg(msg, role string) (io.Reader, error) {
messages[i] = m.ToPrompt()
}
prompt := strings.Join(messages, "\n")
+ // strings builder?
if cfg.ToolUse && msg != "" {
prompt += "\n" + cfg.ToolRole + ":\n" + toolSysMsg
}
botMsgStart := "\n" + cfg.AssistantRole + ":\n"
- payload := models.NewLCPReq(prompt+botMsgStart, cfg, defaultLCPProps)
+ prompt += botMsgStart
+ // if cfg.ThinkUse && msg != "" && !cfg.ToolUse {
+ if cfg.ThinkUse && !cfg.ToolUse {
+ prompt += "<think>"
+ }
+ payload := models.NewLCPReq(prompt, cfg, defaultLCPProps)
data, err := json.Marshal(payload)
if err != nil {
logger.Error("failed to form a msg", "error", err)