fix: handle similarity search error in HypaV3
This commit is contained in:
@@ -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.");
|
||||
|
||||
Reference in New Issue
Block a user