From b893255f79f2ad53dea6070494d86f10d748435a Mon Sep 17 00:00:00 2001 From: Webifi Date: Sat, 17 Jun 2023 09:10:23 -0500 Subject: [PATCH] Fix issue with summary continuation. --- src/lib/ChatRequest.svelte | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/ChatRequest.svelte b/src/lib/ChatRequest.svelte index 6f653cc..25069ce 100644 --- a/src/lib/ChatRequest.svelte +++ b/src/lib/ChatRequest.svelte @@ -417,9 +417,10 @@ export class ChatRequest { _this.updatingMessage = 'Summarizing...' const summarizedIds = rw.map(m => m.uuid) const summaryIds = [summaryResponse.uuid] + let loopCount = 0 while (continueCounter-- > 0) { try { - const summary = await _this.sendRequest(top.concat(rw).concat([summaryRequest]), { + const summary = await _this.sendRequest(top.concat(rw).concat([summaryRequest]).concat(loopCount > 0 ? [summaryResponse] : []), { summaryRequest: true, streaming: opts.streaming, maxTokens: maxSummaryTokens, @@ -452,6 +453,12 @@ export class ChatRequest { // Try to get more of it delete summaryResponse.finish_reason _this.updatingMessage = 'Summarizing more...' + let _recount = countPromptTokens(top.concat(rw).concat([summaryRequest]).concat([summaryResponse]), model) + while (rw.length && (_recount + maxSummaryTokens >= maxTokens)) { + rw.shift() + _recount = countPromptTokens(top.concat(rw).concat([summaryRequest]).concat([summaryResponse]), model) + } + loopCount++ continue } else { // We're done