diff --git a/plugins/rp.go b/plugins/rp.go index c41fcf9..8146edd 100644 --- a/plugins/rp.go +++ b/plugins/rp.go @@ -204,7 +204,7 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { ctx.Answer(laniakea.EscapeMarkdown(agentAnswer.Content)) counter := red.RPGetCounter(db, ctx.FromID, waifuId) + 1 - if counter == 8 { + if counter == 10 { m := ctx.Answer("Запущено сжатие чата.") history, err = mdb.GetChatHistory(db, chatId) if err != nil { @@ -213,7 +213,7 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { } messages = make([]ai.Message, 0) - for _, m := range history[:len(history)-2] { + for _, m := range history { messages = append(messages, ai.Message{ Role: m.Role, Content: m.Message, @@ -229,7 +229,13 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { } compressedHistory := res.Choices[0].Message.Content - m.Edit("\\[DEBUG] Compressed History:\n" + laniakea.EscapeMarkdown(compressedHistory)) + + chatId = uuid.New().String() + err := red.RPSetChatId(db, ctx.FromID, waifuId, chatId) + if err != nil { + ctx.Error(err) + return + } err = mdb.UpdateChatHistory(db, chatId, "assistant", compressedHistory) if err != nil { @@ -242,13 +248,7 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { return } counter = 0 - - chatId = uuid.New().String() - err := red.RPSetChatId(db, ctx.FromID, waifuId, chatId) - if err != nil { - ctx.Error(err) - return - } + m.Edit("Сжатие завершено") } err = red.RPSetCounter(db, ctx.FromID, waifuId, counter) if err != nil {