MCPcopy Index your code
hub / github.com/CommandCodeAI/BaseAI / cosineSimilaritySearch

Function cosineSimilaritySearch

packages/baseai/src/utils/memory/db/lib.ts:215–241  ·  view source on GitHub ↗
({
	chunks,
	queryEmbedding,
	topK
}: {
	chunks: MemoryChunk[];
	queryEmbedding: number[];
	topK: number;
})

Source from the content-addressed store, hash-verified

213}
214
215export function cosineSimilaritySearch({
216 chunks,
217 queryEmbedding,
218 topK
219}: {
220 chunks: MemoryChunk[];
221 queryEmbedding: number[];
222 topK: number;
223}): SimilarChunk[] {
224 // Return empty array if topK is invalid or no chunks are provided
225 if (topK <= 0 || chunks.length === 0) {
226 return [];
227 }
228
229 // Calculate cosine similarity for each chunk
230 const chunksWithCosineSimilarity: SimilarChunk[] = chunks.map(chunk => ({
231 text: chunk.text,
232 attributes: chunk.attributes,
233 similarity: cosineSimilarity(chunk.embedding, queryEmbedding) || 0
234 }));
235
236 // Sort chunks by similarity (descending order)
237 chunksWithCosineSimilarity.sort((a, b) => b.similarity - a.similarity);
238
239 // Return top K results
240 return chunksWithCosineSimilarity.slice(0, topK);
241}
242
243// Get the path of the db file for a memory
244export function getMemoryDbPath(memoryName: string): string {

Callers 2

addContextFromMemoryFunction · 0.90
retrieveMemoryFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected