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