diff options
Diffstat (limited to 'llm.go')
| -rw-r--r-- | llm.go | 13 |
1 files changed, 3 insertions, 10 deletions
@@ -76,7 +76,6 @@ type OpenRouterChat struct { Model string } - func (lcp LlamaCPPeer) GetToken() string { return "" } @@ -484,16 +483,9 @@ func (or OpenRouterChat) GetToken() string { func (or OpenRouterChat) FormMsg(msg, role string, resume bool) (io.Reader, error) { logger.Debug("formmsg open router completion", "link", cfg.CurrentAPI) - // Capture the image attachment path at the beginning to avoid race conditions // with API rotation that might clear the global variable localImageAttachmentPath := imageAttachmentPath - - if cfg.ToolUse && !resume { - // prompt += "\n" + cfg.ToolRole + ":\n" + toolSysMsg - // add to chat body - chatBody.Messages = append(chatBody.Messages, models.RoleMsg{Role: cfg.ToolRole, Content: toolSysMsg}) - } if msg != "" { // otherwise let the bot continue var newMsg models.RoleMsg // Check if we have an image to add to this message @@ -536,7 +528,6 @@ func (or OpenRouterChat) FormMsg(msg, role string, resume bool) (io.Reader, erro Model: chatBody.Model, Stream: chatBody.Stream, } - for i, msg := range chatBody.Messages { bodyCopy.Messages[i] = msg // Standardize role if it's a user role @@ -544,8 +535,10 @@ func (or OpenRouterChat) FormMsg(msg, role string, resume bool) (io.Reader, erro bodyCopy.Messages[i].Role = "user" } } - orBody := models.NewOpenRouterChatReq(*bodyCopy, defaultLCPProps) + if cfg.ToolUse && !resume && role != cfg.ToolRole { + orBody.Tools = baseTools // set tools to use + } data, err := json.Marshal(orBody) if err != nil { logger.Error("failed to form a msg", "error", err) |
