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;
// 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>();
@@ -656,15 +665,24 @@ export async function hypaMemoryV3(
if (!pop) break;
const searched = await processor.similaritySearchScoredEx(pop.content);
try {
const searched = await processor.similaritySearchScoredEx(pop.content);
for (const [chunk, similarity] of searched) {
const summary = chunk.summary;
for (const [chunk, similarity] of searched) {
const summary = chunk.summary;
scoredSummaries.set(
summary,
(scoredSummaries.get(summary) || 0) + similarity
);
scoredSummaries.set(
summary,
(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(
summarizeResult.data
);
for (const [chunk, similarity] of searched) {
const summary = chunk.summary;
scoredSummaries.set(
summary,
(scoredSummaries.get(summary) || 0) + similarity
try {
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
);
}
} catch (error) {
return {
currentTokens,
chats,
error: `[HypaV3] Similarity search failed: ${error}`,
memory: toSerializableHypaV3Data(data),
};
}
console.log("[HypaV3] Similarity corrected.");