From 2fa11ebbe4594e986cf3272b7b3055c62d36de58 Mon Sep 17 00:00:00 2001 From: Bo26fhmC5M <88071760+Bo26fhmC5M@users.noreply.github.com> Date: Fri, 7 Feb 2025 23:31:41 +0900 Subject: [PATCH] fix: add length check before summarization in HypaV3 --- src/ts/process/memory/hypav3.ts | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/ts/process/memory/hypav3.ts b/src/ts/process/memory/hypav3.ts index d9ea04a8..0316216a 100644 --- a/src/ts/process/memory/hypav3.ts +++ b/src/ts/process/memory/hypav3.ts @@ -442,23 +442,25 @@ export async function hypaMemoryV3( } // Attempt summarization - const summarizeResult = await retryableSummarize(toSummarize); + if (toSummarize.length > 0) { + const summarizeResult = await retryableSummarize(toSummarize); - if (!summarizeResult.success) { - return { - currentTokens, - chats, - error: `[HypaV3] Summarization failed after maximum retries: ${summarizeResult.data}`, - memory: toSerializableHypaV3Data(data), - }; + if (!summarizeResult.success) { + return { + currentTokens, + chats, + error: `[HypaV3] Summarization failed after maximum retries: ${summarizeResult.data}`, + memory: toSerializableHypaV3Data(data), + }; + } + + data.summaries.push({ + text: summarizeResult.data, + chatMemos: new Set(toSummarize.map((chat) => chat.memo)), + isImportant: false, + }); } - data.summaries.push({ - text: summarizeResult.data, - chatMemos: new Set(toSummarize.map((chat) => chat.memo)), - isImportant: false, - }); - currentTokens -= toSummarizeTokens; startIdx = endIdx; }