From adfa6bd78389e01e2b5a6a6d71a718a2c9f10298 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Mon, 24 Nov 2025 18:30:46 +0300 Subject: Feat: tool model for or --- llm.go | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'llm.go') diff --git a/llm.go b/llm.go index 38b484f..55051bd 100644 --- a/llm.go +++ b/llm.go @@ -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) -- cgit v1.2.3