From 86f427f62feb24aef3393181c573a26ec96319d8 Mon Sep 17 00:00:00 2001 From: Webifi Date: Tue, 15 Aug 2023 23:48:49 -0500 Subject: [PATCH] Fix potential infinite loop --- src/lib/ChatRequest.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/ChatRequest.svelte b/src/lib/ChatRequest.svelte index 2bd507f..c387c78 100644 --- a/src/lib/ChatRequest.svelte +++ b/src/lib/ChatRequest.svelte @@ -364,8 +364,8 @@ export class ChatRequest { let promptSummarySize = countMessageTokens(summaryRequest, model, chat) // Make sure there is enough room to generate the summary, and try to make sure // the last prompt is a user prompt as that seems to work better for summaries - while ((topSize + reductionPoolSize + promptSummarySize + maxSummaryTokens) >= maxTokens || - (reductionPoolSize >= 100 && rw[rw.length - 1]?.role !== 'user')) { + while (rw.length > 2 && ((topSize + reductionPoolSize + promptSummarySize + maxSummaryTokens) >= maxTokens || + (reductionPoolSize >= 100 && rw[rw.length - 1]?.role !== 'user'))) { bottom.unshift(rw.pop() as Message) reductionPoolSize = countPromptTokens(rw, model, chat) maxSummaryTokens = getSS()