memory leak

This commit is contained in:
2026-02-05 15:14:47 +03:00
parent b894cbd9c3
commit 0fded455b8
22 changed files with 420 additions and 170 deletions

View File

@@ -241,7 +241,7 @@ func rpPresetSet(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
func rpModelList(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
rep := psql.NewRPRepository(db)
rep := psql.NewAIRepository(db)
models, err := rep.GetAllModels()
if err != nil {
ctx.Error(err)
@@ -266,7 +266,8 @@ func rpModelSet(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Error(err)
return
}
model, err := rep.GetModel(ctx.Args[0])
aiRep := psql.NewAIRepository(db)
model, err := aiRep.GetModel(ctx.Args[0])
if err != nil {
ctx.Error(err)
return
@@ -328,7 +329,7 @@ func chatStat(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Answer("Нет активного чата")
return
}
messageCount, err := mdb.GetChatHistorySize(db, chatId)
messageCount, err := mdb.GetRPChatHistorySize(db, chatId)
if err != nil {
ctx.Error(err)
return
@@ -604,7 +605,7 @@ func _getChatHistory(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) ([]
Content: ai.FormatPrompt(preset.PostHistory, waifu.Name, ctx.From.FirstName),
}
history, err := mdb.GetChatHistory(db, chatId)
history, err := mdb.GetRPChatHistory(db, chatId)
if err != nil {
return messages, err
}
@@ -661,14 +662,14 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
}
counter := redisRpRep.GetCounter(ctx.FromID, waifuId)
err = mdb.UpdateChatHistory(db, chatId, "user", userMessage, counter+1)
err = mdb.UpdateRPChatHistory(db, chatId, "user", userMessage, counter+1)
if err != nil {
ctx.Error(err)
return
}
agentAnswer := res.Choices[0].Message
answerContent := strings.TrimSpace(agentAnswer.Content)
err = mdb.UpdateChatHistory(db, chatId, agentAnswer.Role, answerContent, counter+2)
err = mdb.UpdateRPChatHistory(db, chatId, agentAnswer.Role, answerContent, counter+2)
if err != nil {
ctx.Error(err)
}
@@ -734,7 +735,7 @@ func regenerateResponse(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext)
ctx.Error(err)
return
}
history, err := mdb.GetChatHistory(db, chatId)
history, err := mdb.GetRPChatHistory(db, chatId)
if err != nil {
ctx.Error(err)
return
@@ -768,7 +769,7 @@ func regenerateResponse(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext)
return
}
err = mdb.DeleteChatEntry(db, answerToDelete)
err = mdb.DeleteRPChatEntry(db, answerToDelete)
if err != nil {
ctx.Error(err)
return
@@ -799,7 +800,7 @@ func _compress(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
ctx.Error(err)
return
}
history, err := mdb.GetChatHistory(db, chatId)
history, err := mdb.GetRPChatHistory(db, chatId)
if err != nil {
ctx.Error(err)
return
@@ -839,14 +840,14 @@ func _compress(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) {
return
}
err = mdb.UpdateChatHistory(db, chatId, "assistant", compressedHistory, 0)
err = mdb.UpdateRPChatHistory(db, chatId, "assistant", compressedHistory, 0)
if err != nil {
ctx.Error(err)
}
offset := utils.Min(len(history), 20)
for i, m := range history[len(history)-offset:] {
tokens += len(m.Message)
err = mdb.UpdateChatHistory(db, chatId, m.Role, m.Message, i+1)
err = mdb.UpdateRPChatHistory(db, chatId, m.Role, m.Message, i+1)
if err != nil {
ctx.Error(err)
}