n8n-nodes-minimemory 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -4
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/nodes/Minimemory/BM25Index.d.ts +108 -0
- package/dist/nodes/Minimemory/BM25Index.d.ts.map +1 -0
- package/dist/nodes/Minimemory/BM25Index.js +259 -0
- package/dist/nodes/Minimemory/BM25Index.js.map +1 -0
- package/dist/nodes/Minimemory/HybridSearch.d.ts +59 -0
- package/dist/nodes/Minimemory/HybridSearch.d.ts.map +1 -0
- package/dist/nodes/Minimemory/HybridSearch.js +158 -0
- package/dist/nodes/Minimemory/HybridSearch.js.map +1 -0
- package/dist/nodes/Minimemory/Minimemory.node.d.ts.map +1 -1
- package/dist/nodes/Minimemory/Minimemory.node.js +190 -12
- package/dist/nodes/Minimemory/Minimemory.node.js.map +1 -1
- package/dist/nodes/Minimemory/TextUtils.d.ts +22 -0
- package/dist/nodes/Minimemory/TextUtils.d.ts.map +1 -0
- package/dist/nodes/Minimemory/TextUtils.js +92 -0
- package/dist/nodes/Minimemory/TextUtils.js.map +1 -0
- package/dist/nodes/Minimemory/VectorDB.d.ts +55 -0
- package/dist/nodes/Minimemory/VectorDB.d.ts.map +1 -1
- package/dist/nodes/Minimemory/VectorDB.js +158 -3
- package/dist/nodes/Minimemory/VectorDB.js.map +1 -1
- package/package.json +3 -6
- package/dist/credentials/MinimemoryConfig.credentials.d.ts +0 -8
- package/dist/credentials/MinimemoryConfig.credentials.d.ts.map +0 -1
- package/dist/credentials/MinimemoryConfig.credentials.js +0 -40
- package/dist/credentials/MinimemoryConfig.credentials.js.map +0 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Hybrid Search - Combines vector similarity and keyword (BM25) search
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.reciprocalRankFusion = reciprocalRankFusion;
|
|
7
|
+
exports.weightedCombination = weightedCombination;
|
|
8
|
+
exports.hybridFusion = hybridFusion;
|
|
9
|
+
/**
|
|
10
|
+
* Performs Reciprocal Rank Fusion (RRF) on two result sets
|
|
11
|
+
*
|
|
12
|
+
* RRF is preferred for hybrid search because:
|
|
13
|
+
* 1. It does not require score normalization
|
|
14
|
+
* 2. It is robust to score distribution differences
|
|
15
|
+
* 3. It handles missing documents gracefully
|
|
16
|
+
*
|
|
17
|
+
* Formula: RRF_score(d) = 1/(k + rank_vector(d)) + 1/(k + rank_keyword(d))
|
|
18
|
+
*
|
|
19
|
+
* @param vectorResults - Results from vector similarity search
|
|
20
|
+
* @param keywordResults - Results from BM25 keyword search
|
|
21
|
+
* @param k - Number of results to return
|
|
22
|
+
* @param rrfConstant - RRF constant (default: 60, higher = less emphasis on top ranks)
|
|
23
|
+
*/
|
|
24
|
+
function reciprocalRankFusion(vectorResults, keywordResults, k, rrfConstant = 60) {
|
|
25
|
+
// Build rank maps
|
|
26
|
+
const vectorRanks = new Map();
|
|
27
|
+
const keywordRanks = new Map();
|
|
28
|
+
vectorResults.forEach((result, index) => {
|
|
29
|
+
vectorRanks.set(result.id, index + 1); // 1-based ranking
|
|
30
|
+
});
|
|
31
|
+
keywordResults.forEach((result, index) => {
|
|
32
|
+
keywordRanks.set(result.id, index + 1); // 1-based ranking
|
|
33
|
+
});
|
|
34
|
+
// Collect all unique document IDs
|
|
35
|
+
const allIds = new Set([
|
|
36
|
+
...vectorRanks.keys(),
|
|
37
|
+
...keywordRanks.keys(),
|
|
38
|
+
]);
|
|
39
|
+
// Calculate RRF scores
|
|
40
|
+
const scores = [];
|
|
41
|
+
for (const id of allIds) {
|
|
42
|
+
const vectorRank = vectorRanks.get(id);
|
|
43
|
+
const keywordRank = keywordRanks.get(id);
|
|
44
|
+
// RRF score contribution from each result set
|
|
45
|
+
let score = 0;
|
|
46
|
+
if (vectorRank !== undefined) {
|
|
47
|
+
score += 1 / (rrfConstant + vectorRank);
|
|
48
|
+
}
|
|
49
|
+
if (keywordRank !== undefined) {
|
|
50
|
+
score += 1 / (rrfConstant + keywordRank);
|
|
51
|
+
}
|
|
52
|
+
// Find original result data
|
|
53
|
+
const vectorResult = vectorResults.find(r => r.id === id);
|
|
54
|
+
const keywordResult = keywordResults.find(r => r.id === id);
|
|
55
|
+
scores.push({
|
|
56
|
+
id,
|
|
57
|
+
score,
|
|
58
|
+
vectorRank,
|
|
59
|
+
keywordRank,
|
|
60
|
+
vectorSimilarity: vectorResult === null || vectorResult === void 0 ? void 0 : vectorResult.similarity,
|
|
61
|
+
keywordScore: keywordResult === null || keywordResult === void 0 ? void 0 : keywordResult.score,
|
|
62
|
+
metadata: (vectorResult === null || vectorResult === void 0 ? void 0 : vectorResult.metadata) || (keywordResult === null || keywordResult === void 0 ? void 0 : keywordResult.metadata),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Sort by RRF score (descending)
|
|
66
|
+
scores.sort((a, b) => b.score - a.score);
|
|
67
|
+
// Return top k
|
|
68
|
+
return scores.slice(0, k);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Normalizes scores to [0, 1] range using min-max normalization
|
|
72
|
+
*/
|
|
73
|
+
function normalizeScores(results) {
|
|
74
|
+
if (results.length === 0) {
|
|
75
|
+
return new Map();
|
|
76
|
+
}
|
|
77
|
+
const scores = results.map(r => r.score);
|
|
78
|
+
const minScore = Math.min(...scores);
|
|
79
|
+
const maxScore = Math.max(...scores);
|
|
80
|
+
const range = maxScore - minScore;
|
|
81
|
+
const normalized = new Map();
|
|
82
|
+
for (const result of results) {
|
|
83
|
+
const normScore = range === 0 ? 1 : (result.score - minScore) / range;
|
|
84
|
+
normalized.set(result.id, normScore);
|
|
85
|
+
}
|
|
86
|
+
return normalized;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Performs weighted score combination
|
|
90
|
+
*
|
|
91
|
+
* This method normalizes scores from both search types to [0, 1] range
|
|
92
|
+
* and combines them using the alpha parameter.
|
|
93
|
+
*
|
|
94
|
+
* Formula: combined_score = alpha * vector_score + (1 - alpha) * keyword_score
|
|
95
|
+
*
|
|
96
|
+
* @param vectorResults - Results from vector similarity search
|
|
97
|
+
* @param keywordResults - Results from BM25 keyword search
|
|
98
|
+
* @param k - Number of results to return
|
|
99
|
+
* @param alpha - Balance weight: 0 = pure keyword, 1 = pure vector (default: 0.5)
|
|
100
|
+
*/
|
|
101
|
+
function weightedCombination(vectorResults, keywordResults, k, alpha = 0.5) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
// Clamp alpha to [0, 1]
|
|
104
|
+
alpha = Math.max(0, Math.min(1, alpha));
|
|
105
|
+
// Normalize vector scores (similarity is already [0, 1] for cosine)
|
|
106
|
+
const normalizedVector = new Map();
|
|
107
|
+
for (const result of vectorResults) {
|
|
108
|
+
// Use similarity directly for vector results
|
|
109
|
+
normalizedVector.set(result.id, result.similarity);
|
|
110
|
+
}
|
|
111
|
+
// Normalize BM25 scores (need min-max normalization)
|
|
112
|
+
const normalizedKeyword = normalizeScores(keywordResults.map(r => ({ id: r.id, score: r.score })));
|
|
113
|
+
// Collect all unique document IDs
|
|
114
|
+
const allIds = new Set([
|
|
115
|
+
...normalizedVector.keys(),
|
|
116
|
+
...normalizedKeyword.keys(),
|
|
117
|
+
]);
|
|
118
|
+
// Calculate combined scores
|
|
119
|
+
const scores = [];
|
|
120
|
+
for (const id of allIds) {
|
|
121
|
+
const vectorScore = (_a = normalizedVector.get(id)) !== null && _a !== void 0 ? _a : 0;
|
|
122
|
+
const keywordScore = (_b = normalizedKeyword.get(id)) !== null && _b !== void 0 ? _b : 0;
|
|
123
|
+
// Weighted combination
|
|
124
|
+
const combinedScore = alpha * vectorScore + (1 - alpha) * keywordScore;
|
|
125
|
+
// Find original result data for metadata and original scores
|
|
126
|
+
const vectorResult = vectorResults.find(r => r.id === id);
|
|
127
|
+
const keywordResult = keywordResults.find(r => r.id === id);
|
|
128
|
+
// Calculate ranks
|
|
129
|
+
const vectorRank = vectorResults.findIndex(r => r.id === id);
|
|
130
|
+
const keywordRank = keywordResults.findIndex(r => r.id === id);
|
|
131
|
+
scores.push({
|
|
132
|
+
id,
|
|
133
|
+
score: combinedScore,
|
|
134
|
+
vectorRank: vectorRank >= 0 ? vectorRank + 1 : undefined,
|
|
135
|
+
keywordRank: keywordRank >= 0 ? keywordRank + 1 : undefined,
|
|
136
|
+
vectorSimilarity: vectorResult === null || vectorResult === void 0 ? void 0 : vectorResult.similarity,
|
|
137
|
+
keywordScore: keywordResult === null || keywordResult === void 0 ? void 0 : keywordResult.score,
|
|
138
|
+
metadata: (vectorResult === null || vectorResult === void 0 ? void 0 : vectorResult.metadata) || (keywordResult === null || keywordResult === void 0 ? void 0 : keywordResult.metadata),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
// Sort by combined score (descending)
|
|
142
|
+
scores.sort((a, b) => b.score - a.score);
|
|
143
|
+
// Return top k
|
|
144
|
+
return scores.slice(0, k);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Performs hybrid search using the specified fusion method
|
|
148
|
+
*/
|
|
149
|
+
function hybridFusion(vectorResults, keywordResults, k, method = 'rrf', options) {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
if (method === 'rrf') {
|
|
152
|
+
return reciprocalRankFusion(vectorResults, keywordResults, k, (_a = options === null || options === void 0 ? void 0 : options.rrfConstant) !== null && _a !== void 0 ? _a : 60);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
return weightedCombination(vectorResults, keywordResults, k, (_b = options === null || options === void 0 ? void 0 : options.alpha) !== null && _b !== void 0 ? _b : 0.5);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=HybridSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HybridSearch.js","sourceRoot":"","sources":["../../../nodes/Minimemory/HybridSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Minimemory.node.d.ts","sourceRoot":"","sources":["../../../nodes/Minimemory/Minimemory.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAGpB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Minimemory.node.d.ts","sourceRoot":"","sources":["../../../nodes/Minimemory/Minimemory.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAGpB,MAAM,cAAc,CAAC;AAgBtB,qBAAa,UAAW,YAAW,SAAS;IAC3C,WAAW,EAAE,oBAAoB,CA8e/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAsVvE"}
|
|
@@ -267,6 +267,35 @@ class Minimemory {
|
|
|
267
267
|
},
|
|
268
268
|
},
|
|
269
269
|
// === SEARCH operation fields ===
|
|
270
|
+
{
|
|
271
|
+
displayName: 'Search Mode',
|
|
272
|
+
name: 'searchMode',
|
|
273
|
+
type: 'options',
|
|
274
|
+
options: [
|
|
275
|
+
{
|
|
276
|
+
name: 'Vector Only',
|
|
277
|
+
value: 'vector',
|
|
278
|
+
description: 'Traditional vector similarity search',
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: 'Keyword Only (BM25)',
|
|
282
|
+
value: 'keyword',
|
|
283
|
+
description: 'Full-text keyword search using BM25 algorithm',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'Hybrid (Vector + Keyword)',
|
|
287
|
+
value: 'hybrid',
|
|
288
|
+
description: 'Combine vector and keyword search for best results',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
default: 'vector',
|
|
292
|
+
description: 'How to search the database',
|
|
293
|
+
displayOptions: {
|
|
294
|
+
show: {
|
|
295
|
+
operation: ['search'],
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
},
|
|
270
299
|
{
|
|
271
300
|
displayName: 'Query Vector',
|
|
272
301
|
name: 'queryVector',
|
|
@@ -277,6 +306,34 @@ class Minimemory {
|
|
|
277
306
|
displayOptions: {
|
|
278
307
|
show: {
|
|
279
308
|
operation: ['search'],
|
|
309
|
+
searchMode: ['vector', 'hybrid'],
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
displayName: 'Keywords',
|
|
315
|
+
name: 'keywords',
|
|
316
|
+
type: 'string',
|
|
317
|
+
default: '',
|
|
318
|
+
required: true,
|
|
319
|
+
description: 'Search keywords or phrase for BM25 full-text search',
|
|
320
|
+
displayOptions: {
|
|
321
|
+
show: {
|
|
322
|
+
operation: ['search'],
|
|
323
|
+
searchMode: ['keyword', 'hybrid'],
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
displayName: 'Text Fields',
|
|
329
|
+
name: 'textFields',
|
|
330
|
+
type: 'string',
|
|
331
|
+
default: 'content,text,title,description',
|
|
332
|
+
description: 'Comma-separated metadata field names to search for keywords',
|
|
333
|
+
displayOptions: {
|
|
334
|
+
show: {
|
|
335
|
+
operation: ['search'],
|
|
336
|
+
searchMode: ['keyword', 'hybrid'],
|
|
280
337
|
},
|
|
281
338
|
},
|
|
282
339
|
},
|
|
@@ -341,6 +398,85 @@ class Minimemory {
|
|
|
341
398
|
},
|
|
342
399
|
},
|
|
343
400
|
},
|
|
401
|
+
{
|
|
402
|
+
displayName: 'Hybrid Alpha',
|
|
403
|
+
name: 'hybridAlpha',
|
|
404
|
+
type: 'number',
|
|
405
|
+
typeOptions: {
|
|
406
|
+
minValue: 0,
|
|
407
|
+
maxValue: 1,
|
|
408
|
+
numberStepSize: 0.1,
|
|
409
|
+
},
|
|
410
|
+
default: 0.5,
|
|
411
|
+
description: 'Balance between vector (1.0) and keyword (0.0) search. 0.5 = equal weight.',
|
|
412
|
+
displayOptions: {
|
|
413
|
+
show: {
|
|
414
|
+
operation: ['search'],
|
|
415
|
+
searchMode: ['hybrid'],
|
|
416
|
+
},
|
|
417
|
+
},
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
displayName: 'Fusion Method',
|
|
421
|
+
name: 'fusionMethod',
|
|
422
|
+
type: 'options',
|
|
423
|
+
options: [
|
|
424
|
+
{
|
|
425
|
+
name: 'Reciprocal Rank Fusion (Recommended)',
|
|
426
|
+
value: 'rrf',
|
|
427
|
+
description: 'Combines rankings without needing score normalization',
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
name: 'Weighted Score Combination',
|
|
431
|
+
value: 'weighted',
|
|
432
|
+
description: 'Directly combines normalized scores using alpha',
|
|
433
|
+
},
|
|
434
|
+
],
|
|
435
|
+
default: 'rrf',
|
|
436
|
+
description: 'How to combine vector and keyword results',
|
|
437
|
+
displayOptions: {
|
|
438
|
+
show: {
|
|
439
|
+
operation: ['search'],
|
|
440
|
+
searchMode: ['hybrid'],
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
displayName: 'BM25 K1 (Term Saturation)',
|
|
446
|
+
name: 'bm25K1',
|
|
447
|
+
type: 'number',
|
|
448
|
+
typeOptions: {
|
|
449
|
+
minValue: 0,
|
|
450
|
+
maxValue: 3,
|
|
451
|
+
numberStepSize: 0.1,
|
|
452
|
+
},
|
|
453
|
+
default: 1.2,
|
|
454
|
+
description: 'BM25 term frequency saturation. Higher = more weight to term frequency. Typical: 1.2-2.0.',
|
|
455
|
+
displayOptions: {
|
|
456
|
+
show: {
|
|
457
|
+
operation: ['search'],
|
|
458
|
+
searchMode: ['keyword', 'hybrid'],
|
|
459
|
+
},
|
|
460
|
+
},
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
displayName: 'BM25 B (Length Normalization)',
|
|
464
|
+
name: 'bm25B',
|
|
465
|
+
type: 'number',
|
|
466
|
+
typeOptions: {
|
|
467
|
+
minValue: 0,
|
|
468
|
+
maxValue: 1,
|
|
469
|
+
numberStepSize: 0.05,
|
|
470
|
+
},
|
|
471
|
+
default: 0.75,
|
|
472
|
+
description: 'BM25 document length normalization. 0 = no normalization, 1 = full normalization.',
|
|
473
|
+
displayOptions: {
|
|
474
|
+
show: {
|
|
475
|
+
operation: ['search'],
|
|
476
|
+
searchMode: ['keyword', 'hybrid'],
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
},
|
|
344
480
|
// === SAVE/LOAD operation fields ===
|
|
345
481
|
{
|
|
346
482
|
displayName: 'File Path',
|
|
@@ -438,14 +574,11 @@ class Minimemory {
|
|
|
438
574
|
}
|
|
439
575
|
case 'search': {
|
|
440
576
|
const db = (0, VectorDB_1.getDB)(databaseName);
|
|
441
|
-
const
|
|
577
|
+
const searchMode = this.getNodeParameter('searchMode', i);
|
|
442
578
|
const topK = this.getNodeParameter('topK', i);
|
|
443
579
|
const includeVectors = this.getNodeParameter('includeVectors', i);
|
|
444
580
|
const minSimilarity = this.getNodeParameter('minSimilarity', i);
|
|
445
581
|
const useFilter = this.getNodeParameter('useFilter', i);
|
|
446
|
-
const queryVector = typeof queryJson === 'string'
|
|
447
|
-
? JSON.parse(queryJson)
|
|
448
|
-
: queryJson;
|
|
449
582
|
// Parse metadata filter if enabled
|
|
450
583
|
let filter;
|
|
451
584
|
if (useFilter) {
|
|
@@ -453,23 +586,68 @@ class Minimemory {
|
|
|
453
586
|
filter = typeof filterJson === 'string'
|
|
454
587
|
? JSON.parse(filterJson)
|
|
455
588
|
: filterJson;
|
|
456
|
-
// Only use filter if it has actual conditions
|
|
457
589
|
if (!filter || Object.keys(filter).length === 0) {
|
|
458
590
|
filter = undefined;
|
|
459
591
|
}
|
|
460
592
|
}
|
|
461
|
-
//
|
|
462
|
-
|
|
593
|
+
// Get search mode specific parameters
|
|
594
|
+
let queryVector;
|
|
595
|
+
if (searchMode === 'vector' || searchMode === 'hybrid') {
|
|
596
|
+
const queryJson = this.getNodeParameter('queryVector', i);
|
|
597
|
+
queryVector = typeof queryJson === 'string'
|
|
598
|
+
? JSON.parse(queryJson)
|
|
599
|
+
: queryJson;
|
|
600
|
+
}
|
|
601
|
+
let keywords;
|
|
602
|
+
let textFields;
|
|
603
|
+
let bm25K1;
|
|
604
|
+
let bm25B;
|
|
605
|
+
if (searchMode === 'keyword' || searchMode === 'hybrid') {
|
|
606
|
+
keywords = this.getNodeParameter('keywords', i);
|
|
607
|
+
const textFieldsStr = this.getNodeParameter('textFields', i);
|
|
608
|
+
textFields = textFieldsStr.split(',').map(f => f.trim()).filter(f => f.length > 0);
|
|
609
|
+
bm25K1 = this.getNodeParameter('bm25K1', i);
|
|
610
|
+
bm25B = this.getNodeParameter('bm25B', i);
|
|
611
|
+
}
|
|
612
|
+
let alpha;
|
|
613
|
+
let fusionMethod;
|
|
614
|
+
if (searchMode === 'hybrid') {
|
|
615
|
+
alpha = this.getNodeParameter('hybridAlpha', i);
|
|
616
|
+
fusionMethod = this.getNodeParameter('fusionMethod', i);
|
|
617
|
+
}
|
|
618
|
+
// Perform search based on mode
|
|
619
|
+
const searchResults = db.hybridSearch({
|
|
620
|
+
mode: searchMode,
|
|
621
|
+
k: topK,
|
|
622
|
+
queryVector,
|
|
623
|
+
keywords,
|
|
624
|
+
textFields,
|
|
463
625
|
filter,
|
|
464
626
|
minSimilarity: minSimilarity > 0 ? minSimilarity : undefined,
|
|
627
|
+
alpha,
|
|
628
|
+
fusionMethod,
|
|
629
|
+
bm25K1,
|
|
630
|
+
bm25B,
|
|
465
631
|
});
|
|
466
|
-
//
|
|
467
|
-
const formattedResults =
|
|
632
|
+
// Format results
|
|
633
|
+
const formattedResults = searchResults.map((r) => {
|
|
468
634
|
const item = {
|
|
469
635
|
id: r.id,
|
|
470
|
-
|
|
471
|
-
similarity: r.similarity,
|
|
636
|
+
score: r.score,
|
|
472
637
|
};
|
|
638
|
+
// Add mode-specific scores
|
|
639
|
+
if (r.vectorSimilarity !== undefined) {
|
|
640
|
+
item.vectorSimilarity = r.vectorSimilarity;
|
|
641
|
+
}
|
|
642
|
+
if (r.keywordScore !== undefined) {
|
|
643
|
+
item.keywordScore = r.keywordScore;
|
|
644
|
+
}
|
|
645
|
+
if (r.vectorRank !== undefined) {
|
|
646
|
+
item.vectorRank = r.vectorRank;
|
|
647
|
+
}
|
|
648
|
+
if (r.keywordRank !== undefined) {
|
|
649
|
+
item.keywordRank = r.keywordRank;
|
|
650
|
+
}
|
|
473
651
|
if (r.metadata) {
|
|
474
652
|
item.metadata = r.metadata;
|
|
475
653
|
}
|
|
@@ -483,7 +661,7 @@ class Minimemory {
|
|
|
483
661
|
});
|
|
484
662
|
result = {
|
|
485
663
|
success: true,
|
|
486
|
-
|
|
664
|
+
searchMode,
|
|
487
665
|
k: topK,
|
|
488
666
|
filterApplied: !!filter,
|
|
489
667
|
resultsCount: formattedResults.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Minimemory.node.js","sourceRoot":"","sources":["../../../nodes/Minimemory/Minimemory.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Minimemory.node.js","sourceRoot":"","sources":["../../../nodes/Minimemory/Minimemory.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text processing utilities for BM25 keyword search
|
|
3
|
+
*/
|
|
4
|
+
export interface TokenizerOptions {
|
|
5
|
+
lowercase?: boolean;
|
|
6
|
+
removePunctuation?: boolean;
|
|
7
|
+
removeNumbers?: boolean;
|
|
8
|
+
minTokenLength?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Tokenizes text into normalized tokens
|
|
12
|
+
*/
|
|
13
|
+
export declare function tokenize(text: string, options?: TokenizerOptions): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Creates term frequency map for a document
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTermFrequencies(tokens: string[]): Map<string, number>;
|
|
18
|
+
/**
|
|
19
|
+
* Extracts text from metadata fields and concatenates them
|
|
20
|
+
*/
|
|
21
|
+
export declare function extractTextFromMetadata(metadata: Record<string, unknown> | null, textFields: string[]): string;
|
|
22
|
+
//# sourceMappingURL=TextUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextUtils.d.ts","sourceRoot":"","sources":["../../../nodes/Minimemory/TextUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AASD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAkC3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASxE;AAkBD;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACxC,UAAU,EAAE,MAAM,EAAE,GAClB,MAAM,CAoBR"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Text processing utilities for BM25 keyword search
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.tokenize = tokenize;
|
|
7
|
+
exports.getTermFrequencies = getTermFrequencies;
|
|
8
|
+
exports.extractTextFromMetadata = extractTextFromMetadata;
|
|
9
|
+
const DEFAULT_OPTIONS = {
|
|
10
|
+
lowercase: true,
|
|
11
|
+
removePunctuation: true,
|
|
12
|
+
removeNumbers: false,
|
|
13
|
+
minTokenLength: 1,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Tokenizes text into normalized tokens
|
|
17
|
+
*/
|
|
18
|
+
function tokenize(text, options) {
|
|
19
|
+
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
20
|
+
if (!text || typeof text !== 'string') {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
let processed = text;
|
|
24
|
+
// Convert to lowercase
|
|
25
|
+
if (opts.lowercase) {
|
|
26
|
+
processed = processed.toLowerCase();
|
|
27
|
+
}
|
|
28
|
+
// Remove punctuation (keep alphanumeric and spaces)
|
|
29
|
+
if (opts.removePunctuation) {
|
|
30
|
+
processed = processed.replace(/[^\p{L}\p{N}\s]/gu, ' ');
|
|
31
|
+
}
|
|
32
|
+
// Split on whitespace
|
|
33
|
+
let tokens = processed.split(/\s+/).filter(t => t.length > 0);
|
|
34
|
+
// Remove numbers if requested
|
|
35
|
+
if (opts.removeNumbers) {
|
|
36
|
+
tokens = tokens.filter(t => !/^\d+$/.test(t));
|
|
37
|
+
}
|
|
38
|
+
// Filter by minimum length
|
|
39
|
+
if (opts.minTokenLength && opts.minTokenLength > 1) {
|
|
40
|
+
const minLen = opts.minTokenLength;
|
|
41
|
+
tokens = tokens.filter(t => t.length >= minLen);
|
|
42
|
+
}
|
|
43
|
+
return tokens;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates term frequency map for a document
|
|
47
|
+
*/
|
|
48
|
+
function getTermFrequencies(tokens) {
|
|
49
|
+
const frequencies = new Map();
|
|
50
|
+
for (const token of tokens) {
|
|
51
|
+
const current = frequencies.get(token) || 0;
|
|
52
|
+
frequencies.set(token, current + 1);
|
|
53
|
+
}
|
|
54
|
+
return frequencies;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Gets a nested value from an object using dot notation
|
|
58
|
+
*/
|
|
59
|
+
function getNestedValue(obj, path) {
|
|
60
|
+
const parts = path.split('.');
|
|
61
|
+
let current = obj;
|
|
62
|
+
for (const part of parts) {
|
|
63
|
+
if (current === null || current === undefined)
|
|
64
|
+
return undefined;
|
|
65
|
+
if (typeof current !== 'object')
|
|
66
|
+
return undefined;
|
|
67
|
+
current = current[part];
|
|
68
|
+
}
|
|
69
|
+
return current;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Extracts text from metadata fields and concatenates them
|
|
73
|
+
*/
|
|
74
|
+
function extractTextFromMetadata(metadata, textFields) {
|
|
75
|
+
if (!metadata) {
|
|
76
|
+
return '';
|
|
77
|
+
}
|
|
78
|
+
const textParts = [];
|
|
79
|
+
for (const field of textFields) {
|
|
80
|
+
const value = getNestedValue(metadata, field);
|
|
81
|
+
if (typeof value === 'string') {
|
|
82
|
+
textParts.push(value);
|
|
83
|
+
}
|
|
84
|
+
else if (Array.isArray(value)) {
|
|
85
|
+
// Handle arrays of strings (e.g., tags)
|
|
86
|
+
const stringValues = value.filter(v => typeof v === 'string');
|
|
87
|
+
textParts.push(...stringValues);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return textParts.join(' ');
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=TextUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextUtils.js","sourceRoot":"","sources":["../../../nodes/Minimemory/TextUtils.ts"],"names":[],"mappings":"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"}
|