diff --git a/plugins/rp.go b/plugins/rp.go index 8f9d42e..57fa420 100644 --- a/plugins/rp.go +++ b/plugins/rp.go @@ -543,6 +543,7 @@ func generate(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { kb := laniakea.NewInlineKeyboard(1).AddCallbackButton("Отменить", "rp.cancel") m := ctx.Keyboard("Генерация запущена...", kb) api := ai.NewOpenAIAPI(ai.GPTBaseUrl, "", rpUser.Model.Key) + defer api.Close() res, err := api.CreateCompletion(messages, userMessage, 1.0) if err != nil { ctx.Error(err) @@ -612,6 +613,7 @@ func compress(ctx *laniakea.MsgContext, db *laniakea.DatabaseContext) { //compressModel := "gpt-5.1" compressModel := "deepseek-ai/deepseek-v3.2" api := ai.NewOpenAIAPI(ai.GPTBaseUrl, "", compressModel) + defer api.Close() res, err := api.CompressChat(messages) if err != nil { ctx.Error(err) diff --git a/utils/ai/consts.go b/utils/ai/consts.go index 0895e96..1ff7772 100644 --- a/utils/ai/consts.go +++ b/utils/ai/consts.go @@ -1,7 +1,7 @@ package ai const GPTBaseUrl = "https://chat.gpt-chatbot.ru/api/openai" -const CompressPrompt = "Сделай выжимку нашего диалога. Сохрани все ключевые моменты(например сколько одежды, расположение, основные действия и фразы и тд.) из каждого сообщения, но никогда не копируй описание персонажа(цвет волос и глаз, характер и т.д.). Если в истории уже есть выжимка, проанализируй размер и информацию. Если выжимка короткая, скопируй её с минимальными изменениями, а если длинная, то сократи, не упуская деталей. Всегда копируй основные моменты из выжимки, если таковая имеется. Для моих сообщений используй обращение во втором лице(ты, вы), для своих в первом(я). Всегда называй вещи своими именами и не используй Markdown форматирование. После твоего сообщения будет добавлено 20 сообщений из этого диалога, по 10 твоих и моих." +const CompressPrompt = "Сделай выжимку нашего диалога. Сохрани все ключевые моменты(например сколько одежды, расположение, основные действия и фразы и тд.) из каждого сообщения, но никогда не копируй описание персонажа(цвет волос и глаз, характер и т.д.). Если в истории уже есть выжимка, проанализируй размер и информацию. Если выжимка короткая, скопируй её с минимальными изменениями, а если длинная, то сократи, не упуская деталей. Всегда копируй основные моменты из выжимки, если таковая имеется. Для моих сообщений используй обращение во втором лице(ты, вы), для своих в первом(я). Всегда называй вещи своими именами и не используй Markdown форматирование." //const PawanBaseURL = "https://api.pawan.krd" //var CosmoRPUrl = fmt.Sprintf("%s/cosmosrp-2.5", PawanBaseURL) diff --git a/utils/ai/openai.go b/utils/ai/openai.go index 66e8870..d2d3f9d 100644 --- a/utils/ai/openai.go +++ b/utils/ai/openai.go @@ -87,6 +87,9 @@ func NewOpenAIAPI(baseURL, token, model string) *OpenAIAPI { client: client, } } +func (o *OpenAIAPI) Close() error { + return o.Logger.Close() +} type CreateCompletionReq struct { Model string `json:"model"`