From 205cdc140035884a3e02009aa7d3c1990985b37d Mon Sep 17 00:00:00 2001 From: Zhang Minghan Date: Tue, 24 Oct 2023 20:45:06 +0800 Subject: [PATCH] add model field --- connection/database.go | 1 + manager/conversation/storage.go | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/connection/database.go b/connection/database.go index 656d915d..816725a9 100644 --- a/connection/database.go +++ b/connection/database.go @@ -92,6 +92,7 @@ func CreateConversationTable(db *sql.DB) { conversation_id INT, conversation_name VARCHAR(255), data TEXT, + model VARCHAR(255) NOT NULL DEFAULT 'gpt-3.5-turbo', updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY (user_id, conversation_id) ); diff --git a/manager/conversation/storage.go b/manager/conversation/storage.go index b260d388..b524fb18 100644 --- a/manager/conversation/storage.go +++ b/manager/conversation/storage.go @@ -15,7 +15,10 @@ func (c *Conversation) SaveConversation(db *sql.DB) bool { } data := utils.ToJson(c.GetMessage()) - query := `INSERT INTO conversation (user_id, conversation_id, conversation_name, data) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE conversation_name = VALUES(conversation_name), data = VALUES(data)` + query := ` + INSERT INTO conversation (user_id, conversation_id, conversation_name, data, model) VALUES (?, ?, ?, ?, ?) + ON DUPLICATE KEY UPDATE conversation_name = VALUES(conversation_name), data = VALUES(data) + ` stmt, err := db.Prepare(query) if err != nil { @@ -28,7 +31,7 @@ func (c *Conversation) SaveConversation(db *sql.DB) bool { } }(stmt) - _, err = stmt.Exec(c.UserID, c.Id, c.Name, data) + _, err = stmt.Exec(c.UserID, c.Id, c.Name, data, c.Model) if err != nil { return false } @@ -50,7 +53,10 @@ func LoadConversation(db *sql.DB, userId int64, conversationId int64) *Conversat } var data string - err := db.QueryRow("SELECT conversation_name, data FROM conversation WHERE user_id = ? AND conversation_id = ?", userId, conversationId).Scan(&conversation.Name, &data) + err := db.QueryRow(` + SELECT conversation_name, model, data FROM conversation + WHERE user_id = ? AND conversation_id = ? + `, userId, conversationId).Scan(&conversation.Name, &data, &conversation.Model) if err != nil { return nil }