fix: handle similarity search error in HypaV3

This commit is contained in:
Bo26fhmC5M
2025-04-05 17:01:19 +09:00
parent cf48e56082
commit e8b93dba41

View File

@@ -646,7 +646,16 @@ export async function hypaMemoryV3(
processor.oaikey = db.supaMemoryKey; processor.oaikey = db.supaMemoryKey;
// Add summaryChunks to processor for similarity search // Add summaryChunks to processor for similarity search
await processor.addSummaryChunks(summaryChunks); try {
await processor.addSummaryChunks(summaryChunks);
} catch (error) {
return {
currentTokens,
chats,
error: `[HypaV3] Similarity search failed: ${error}`,
memory: toSerializableHypaV3Data(data),
};
}
const scoredSummaries = new Map<Summary, number>(); const scoredSummaries = new Map<Summary, number>();
@@ -656,15 +665,24 @@ export async function hypaMemoryV3(
if (!pop) break; if (!pop) break;
const searched = await processor.similaritySearchScoredEx(pop.content); try {
const searched = await processor.similaritySearchScoredEx(pop.content);
for (const [chunk, similarity] of searched) { for (const [chunk, similarity] of searched) {
const summary = chunk.summary; const summary = chunk.summary;
scoredSummaries.set( scoredSummaries.set(
summary, summary,
(scoredSummaries.get(summary) || 0) + similarity (scoredSummaries.get(summary) || 0) + similarity
); );
}
} catch (error) {
return {
currentTokens,
chats,
error: `[HypaV3] Similarity search failed: ${error}`,
memory: toSerializableHypaV3Data(data),
};
} }
} }
@@ -687,17 +705,26 @@ export async function hypaMemoryV3(
}; };
} }
const searched = await processor.similaritySearchScoredEx( try {
summarizeResult.data const searched = await processor.similaritySearchScoredEx(
); summarizeResult.data
for (const [chunk, similarity] of searched) {
const summary = chunk.summary;
scoredSummaries.set(
summary,
(scoredSummaries.get(summary) || 0) + similarity
); );
for (const [chunk, similarity] of searched) {
const summary = chunk.summary;
scoredSummaries.set(
summary,
(scoredSummaries.get(summary) || 0) + similarity
);
}
} catch (error) {
return {
currentTokens,
chats,
error: `[HypaV3] Similarity search failed: ${error}`,
memory: toSerializableHypaV3Data(data),
};
} }
console.log("[HypaV3] Similarity corrected."); console.log("[HypaV3] Similarity corrected.");