From d3cc8774b13a0c8e9fbf11947b9caca216595a8d Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sun, 17 Nov 2024 18:55:59 +0300 Subject: Feat: toggle system; edit msg; switch focus --- bot.go | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'bot.go') diff --git a/bot.go b/bot.go index 8a09e24..be35a09 100644 --- a/bot.go +++ b/bot.go @@ -310,28 +310,27 @@ func chatToText(showSys bool) string { return strings.Join(s, "") } -func textToChat(chat []string) []models.MessagesStory { +func textToMsg(rawMsg string) models.MessagesStory { + msg := models.MessagesStory{} + // system and tool? + if strings.HasPrefix(rawMsg, assistantIcon) { + msg.Role = assistantRole + msg.Content = strings.TrimPrefix(rawMsg, assistantIcon) + return msg + } + if strings.HasPrefix(rawMsg, userIcon) { + msg.Role = userRole + msg.Content = strings.TrimPrefix(rawMsg, userIcon) + return msg + } + return msg +} + +func textSliceToChat(chat []string) []models.MessagesStory { resp := make([]models.MessagesStory, len(chat)) for i, rawMsg := range chat { - // trim icon - var ( - role string - msg string - ) - // system and tool? - if strings.HasPrefix(rawMsg, assistantIcon) { - role = assistantRole - msg = strings.TrimPrefix(rawMsg, assistantIcon) - goto messagebuild - } - if strings.HasPrefix(rawMsg, userIcon) { - role = assistantRole - msg = strings.TrimPrefix(rawMsg, userIcon) - goto messagebuild - } - messagebuild: - resp[i].Role = role - resp[i].Content = msg + msg := textToMsg(rawMsg) + resp[i] = msg } return resp } -- cgit v1.2.3