fix: correct targetTokens calculation in summarization and improve logging

This commit is contained in:
Bo26fhmC5M
2025-01-12 14:49:01 +09:00
parent 85bdf1d544
commit 6e49970b76

View File

@@ -354,10 +354,7 @@ export async function hypaMemoryV3(
// If summarization is needed // If summarization is needed
let summarizationMode = currentTokens > maxContextTokens; let summarizationMode = currentTokens > maxContextTokens;
const targetTokens = const targetTokens =
maxContextTokens * maxContextTokens * (1 - db.hypaV3Settings.extraSummarizationRatio);
(1 -
db.hypaV3Settings.memoryTokensRatio -
db.hypaV3Settings.extraSummarizationRatio);
while (summarizationMode) { while (summarizationMode) {
if ( if (
@@ -811,16 +808,28 @@ export async function hypaMemoryV3(
); );
} }
return { const newChats: OpenAIChat[] = [
currentTokens,
chats: [
{ {
role: "system", role: "system",
content: memory, content: memory,
memo: "supaMemory", memo: "supaMemory",
}, },
...chats.slice(startIdx), ...chats.slice(startIdx),
], ];
console.log(
"[HypaV3] Exiting function:",
"\nCurrent Tokens:",
currentTokens,
"\nAll chats, including memory prompt:",
newChats,
"\nMemory Data:",
data
);
return {
currentTokens,
chats: newChats,
memory: toSerializableHypaV3Data(data), memory: toSerializableHypaV3Data(data),
}; };
} }