diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/models.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/models/models.go b/models/models.go index dd1dace..30ba548 100644 --- a/models/models.go +++ b/models/models.go @@ -1,5 +1,10 @@ package models +import ( + "fmt" + "strings" +) + // type FuncCall struct { // XMLName xml.Name `xml:"tool_call"` // Name string `xml:"name"` @@ -56,6 +61,22 @@ type MessagesStory struct { Content string `json:"content"` } +func (m MessagesStory) ToText() string { + icon := "" + switch m.Role { + case "assistant": + icon = "<🤖>: " + case "user": + icon = "<user>: " + case "system": + icon = "<system>: " + case "tool": + icon = "<tool>: " + } + textMsg := fmt.Sprintf("%s%s\n", icon, m.Content) + return strings.ReplaceAll(textMsg, "\n\n", "\n") +} + type ChatBody struct { Model string `json:"model"` Stream bool `json:"stream"` |