Skip to content

Commit

Permalink
add system role, so ChatGPT can act as someone
Browse files Browse the repository at this point in the history
  • Loading branch information
quantonganh committed Apr 22, 2023
1 parent dc94a0d commit 745ec3c
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions main.go
Expand Up @@ -21,6 +21,7 @@ import (
)

const (
roleSystem = "system"
roleUser = "user"
roleAssistant = "assistant"

Expand Down Expand Up @@ -282,7 +283,12 @@ func main() {
fmt.Fprintf(textView, "%s\n\n", content)

messages := make([]Message, 0)
if list.GetItemCount() > 0 && !isNewChat {
if isNewChat {
messages = append(messages, Message{
Role: roleSystem,
Content: "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.",
})
} else if list.GetItemCount() > 0 {
title, _ := list.GetItemText(list.GetCurrentItem())
if c, ok := m[title]; ok {
messages = c.Messages
Expand Down Expand Up @@ -362,9 +368,15 @@ func main() {

title, _ := list.GetItemText(list.GetCurrentItem())
c := &Conversation{
Time: time.Now().Unix(),
Messages: messages,
Time: time.Now().Unix(),
}
// no need to save the system message into db
if messages[0].Role == roleSystem {
c.Messages = messages[1:]
} else {
c.Messages = messages
}

value, err := json.Marshal(c)
if err != nil {
log.Panic(err)
Expand Down

0 comments on commit 745ec3c

Please sign in to comment.