fix: chat system prompting overrides (#2542)

This commit is contained in:
Bruce MacDonald 2024-02-16 14:42:43 -05:00 committed by GitHub
parent 9774663013
commit 88622847c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 24 additions and 41 deletions

View file

@ -354,8 +354,15 @@ func generateInteractive(cmd *cobra.Command, opts runOptions) error {
}
if args[1] == "system" {
opts.System = sb.String()
opts.Messages = append(opts.Messages, api.Message{Role: "system", Content: opts.System})
opts.System = sb.String() // for display in modelfile
newMessage := api.Message{Role: "system", Content: sb.String()}
// Check if the slice is not empty and the last message is from 'system'
if len(opts.Messages) > 0 && opts.Messages[len(opts.Messages)-1].Role == "system" {
// Replace the last message
opts.Messages[len(opts.Messages)-1] = newMessage
} else {
opts.Messages = append(opts.Messages, newMessage)
}
fmt.Println("Set system message.")
sb.Reset()
} else if args[1] == "template" {