@memberjunction/ai-vector-dupe 5.23.0 → 5.25.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.
|
@@ -53,8 +53,27 @@ export declare class DuplicateRecordDetector extends VectorBase {
|
|
|
53
53
|
* Run duplicate detection for records identified by ListID, ViewID, ExtraFilter,
|
|
54
54
|
* or all records in the entity (vector-first approach).
|
|
55
55
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* **Batching strategy:**
|
|
57
|
+
* - Records are loaded as lightweight IDs first, then processed in outer batches of
|
|
58
|
+
* {@link DEFAULT_BATCH_SIZE} (500) records.
|
|
59
|
+
* - Within each outer batch, embedding and vector similarity queries are further
|
|
60
|
+
* sub-batched into chunks of {@link VECTOR_QUERY_BATCH_SIZE} (100) records to keep
|
|
61
|
+
* API payloads and memory bounded.
|
|
62
|
+
* - Vector queries within each sub-batch run with configurable concurrency
|
|
63
|
+
* (default {@link DEFAULT_QUERY_CONCURRENCY} = 10).
|
|
64
|
+
*
|
|
65
|
+
* **Resume support:**
|
|
66
|
+
* - {@link MJDuplicateRunEntity.ProcessedItemCount} and
|
|
67
|
+
* {@link MJDuplicateRunEntity.LastProcessedOffset} are persisted after each outer batch.
|
|
68
|
+
* - On restart, processing resumes from {@link MJDuplicateRunEntity.LastProcessedOffset}.
|
|
69
|
+
*
|
|
70
|
+
* **Cancellation:**
|
|
71
|
+
* - {@link MJDuplicateRunEntity.CancellationRequested} is re-loaded from the database
|
|
72
|
+
* between outer batches. If set to `true`, processing stops and the run can be resumed later.
|
|
73
|
+
*
|
|
74
|
+
* @param params - The detection request specifying entity, document, list/view/filter, and options
|
|
75
|
+
* @param contextUser - The user context for entity operations and security
|
|
76
|
+
* @returns A response containing all potential duplicate results and an overall status
|
|
58
77
|
*/
|
|
59
78
|
GetDuplicateRecords(params: PotentialDuplicateRequest, contextUser?: UserInfo): Promise<PotentialDuplicateResponse>;
|
|
60
79
|
/**
|
|
@@ -63,7 +82,30 @@ export declare class DuplicateRecordDetector extends VectorBase {
|
|
|
63
82
|
*/
|
|
64
83
|
CheckSingleRecord(EntityDocumentID: string, RecordID: CompositeKey, Options?: DuplicateDetectionOptions, ContextUser?: UserInfo): Promise<PotentialDuplicateResult>;
|
|
65
84
|
/**
|
|
66
|
-
*
|
|
85
|
+
* Process a single outer batch of record IDs through the full duplicate detection pipeline.
|
|
86
|
+
*
|
|
87
|
+
* Steps:
|
|
88
|
+
* 1. Load full record data for template rendering
|
|
89
|
+
* 2. Build source metadata for rich UI display
|
|
90
|
+
* 3. Create DuplicateRunDetail records
|
|
91
|
+
* 4. Sub-batch records into chunks of {@link VECTOR_QUERY_BATCH_SIZE} (default 100)
|
|
92
|
+
* for embedding + vector similarity querying, keeping memory and API payloads bounded
|
|
93
|
+
* 5. Persist match results and update run details
|
|
94
|
+
*
|
|
95
|
+
* @param batchIDs - Primary key values for records in this batch
|
|
96
|
+
* @param entityInfo - Entity metadata
|
|
97
|
+
* @param entityDocument - The entity document driving vectorization
|
|
98
|
+
* @param templateParser - Reusable template parser instance
|
|
99
|
+
* @param duplicateRunID - ID of the parent DuplicateRun record
|
|
100
|
+
* @param topK - Number of nearest neighbors to retrieve per record
|
|
101
|
+
* @param concurrency - Max parallel vector queries within each sub-batch
|
|
102
|
+
* @param options - Detection options (thresholds, callbacks, etc.)
|
|
103
|
+
* @param startTime - Epoch ms for elapsed-time progress reporting
|
|
104
|
+
* @param totalRecords - Total records across all batches (for progress reporting)
|
|
105
|
+
* @param processedSoFar - Records processed before this batch (for progress reporting)
|
|
106
|
+
* @param matchesSoFar - Matches found before this batch (for progress reporting)
|
|
107
|
+
* @param contextUser - The user context for entity operations
|
|
108
|
+
* @returns Combined results and match count for this batch
|
|
67
109
|
*/
|
|
68
110
|
private ProcessBatch;
|
|
69
111
|
/**
|
|
@@ -87,9 +129,15 @@ export declare class DuplicateRecordDetector extends VectorBase {
|
|
|
87
129
|
/**
|
|
88
130
|
* Validate and return an entity document, or null if not found.
|
|
89
131
|
*/
|
|
132
|
+
/**
|
|
133
|
+
* Validates that an entity document exists and is usable. Uses the
|
|
134
|
+
* KnowledgeHubMetadataEngine cache for instant lookups without database queries.
|
|
135
|
+
*/
|
|
90
136
|
protected ValidateEntityDocument(entityDocumentID: string): Promise<MJEntityDocumentEntity | null>;
|
|
91
137
|
/**
|
|
92
|
-
*
|
|
138
|
+
* Initializes embedding model, vector DB, and index name providers.
|
|
139
|
+
* Called once per detection run rather than per-record. Uses AIEngine
|
|
140
|
+
* and KnowledgeHubMetadataEngine caches to avoid redundant database queries.
|
|
93
141
|
*/
|
|
94
142
|
protected InitializeProviders(entityDocument: MJEntityDocumentEntity): Promise<void>;
|
|
95
143
|
/**
|
|
@@ -138,7 +186,27 @@ export declare class DuplicateRecordDetector extends VectorBase {
|
|
|
138
186
|
protected loadTemplate(entityDocument: MJEntityDocumentEntity): MJTemplateEntityExtended;
|
|
139
187
|
/**
|
|
140
188
|
* Query the vector DB for duplicates of each record, with concurrency control.
|
|
141
|
-
*
|
|
189
|
+
*
|
|
190
|
+
* Creates one async task per record, then executes them via {@link RunWithConcurrency}
|
|
191
|
+
* with the specified concurrency limit. Each task embeds and queries a single record
|
|
192
|
+
* against the vector index.
|
|
193
|
+
*
|
|
194
|
+
* Supports hybrid search (vector + keyword) with RRF fusion when the vector DB provider
|
|
195
|
+
* supports it (checked via `SupportsHybridSearch`).
|
|
196
|
+
*
|
|
197
|
+
* Post-query, results are:
|
|
198
|
+
* 1. Parsed from raw vector matches into typed {@link PotentialDuplicate} objects
|
|
199
|
+
* 2. Filtered to remove self-matches (same record as source)
|
|
200
|
+
* 3. Filtered by the potential match threshold (from options or entity document)
|
|
201
|
+
*
|
|
202
|
+
* @param records - The source records to find duplicates for
|
|
203
|
+
* @param vectors - Pre-computed embedding vectors, one per record (same index order)
|
|
204
|
+
* @param templateTexts - Rendered template texts for hybrid keyword search
|
|
205
|
+
* @param entityDocument - The entity document providing thresholds and configuration
|
|
206
|
+
* @param topK - Number of nearest neighbors to retrieve per record
|
|
207
|
+
* @param options - Detection options including threshold overrides
|
|
208
|
+
* @param concurrency - Max parallel vector queries
|
|
209
|
+
* @returns One {@link RecordQueryResult} per input record
|
|
142
210
|
*/
|
|
143
211
|
protected QueryDuplicatesForRecords(records: BaseEntity[], vectors: number[][], templateTexts: string[], entityDocument: MJEntityDocumentEntity, topK: number, options: DuplicateDetectionOptions, concurrency: number): Promise<RecordQueryResult[]>;
|
|
144
212
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicateRecordDetector.d.ts","sourceRoot":"","sources":["../src/duplicateRecordDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACH,yBAAyB,EACzB,0BAA0B,EAC1B,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,wBAAwB,EAIxB,UAAU,EACV,kBAAkB,EAClB,yBAAyB,EAG5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAA6C,MAAM,6BAA6B,CAAC;AAEtG,OAAO,EACH,0BAA0B,EAC1B,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EAEtB,YAAY,
|
|
1
|
+
{"version":3,"file":"duplicateRecordDetector.d.ts","sourceRoot":"","sources":["../src/duplicateRecordDetector.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,10 @@
|
|
|
15
15
|
* @module @memberjunction/ai-vector-dupe
|
|
16
16
|
*/
|
|
17
17
|
import { BaseEmbeddings, GetAIAPIKey } from "@memberjunction/ai";
|
|
18
|
-
import { PotentialDuplicateResponse, CompositeKey, PotentialDuplicateResult, LogError, LogStatus, RecordMergeRequest, PotentialDuplicate,
|
|
18
|
+
import { PotentialDuplicateResponse, CompositeKey, PotentialDuplicateResult, LogError, LogStatus, RecordMergeRequest, PotentialDuplicate, } from "@memberjunction/core";
|
|
19
19
|
import { VectorDBBase } from "@memberjunction/ai-vectordb";
|
|
20
20
|
import { MJGlobal, UUIDsEqual } from "@memberjunction/global";
|
|
21
|
+
import { KnowledgeHubMetadataEngine, } from "@memberjunction/core-entities";
|
|
21
22
|
import { VectorBase } from "@memberjunction/ai-vectors";
|
|
22
23
|
import { EntityDocumentTemplateParser, EntityVectorSyncer } from "@memberjunction/ai-vector-sync";
|
|
23
24
|
import { TemplateEngineServer } from "@memberjunction/templates";
|
|
@@ -27,6 +28,11 @@ const DEFAULT_TOP_K = 5;
|
|
|
27
28
|
const DEFAULT_QUERY_CONCURRENCY = 10;
|
|
28
29
|
/** Default batch size for loading records and parallel database saves */
|
|
29
30
|
const DEFAULT_BATCH_SIZE = 500;
|
|
31
|
+
/**
|
|
32
|
+
* Maximum number of records to embed and query in a single vector similarity sub-batch.
|
|
33
|
+
* Keeps memory and API payload sizes bounded within each outer processing batch.
|
|
34
|
+
*/
|
|
35
|
+
const VECTOR_QUERY_BATCH_SIZE = 100;
|
|
30
36
|
/** Default batch size for parallel database saves */
|
|
31
37
|
const SAVE_BATCH_SIZE = 20;
|
|
32
38
|
/**
|
|
@@ -53,8 +59,27 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
53
59
|
* Run duplicate detection for records identified by ListID, ViewID, ExtraFilter,
|
|
54
60
|
* or all records in the entity (vector-first approach).
|
|
55
61
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
62
|
+
* **Batching strategy:**
|
|
63
|
+
* - Records are loaded as lightweight IDs first, then processed in outer batches of
|
|
64
|
+
* {@link DEFAULT_BATCH_SIZE} (500) records.
|
|
65
|
+
* - Within each outer batch, embedding and vector similarity queries are further
|
|
66
|
+
* sub-batched into chunks of {@link VECTOR_QUERY_BATCH_SIZE} (100) records to keep
|
|
67
|
+
* API payloads and memory bounded.
|
|
68
|
+
* - Vector queries within each sub-batch run with configurable concurrency
|
|
69
|
+
* (default {@link DEFAULT_QUERY_CONCURRENCY} = 10).
|
|
70
|
+
*
|
|
71
|
+
* **Resume support:**
|
|
72
|
+
* - {@link MJDuplicateRunEntity.ProcessedItemCount} and
|
|
73
|
+
* {@link MJDuplicateRunEntity.LastProcessedOffset} are persisted after each outer batch.
|
|
74
|
+
* - On restart, processing resumes from {@link MJDuplicateRunEntity.LastProcessedOffset}.
|
|
75
|
+
*
|
|
76
|
+
* **Cancellation:**
|
|
77
|
+
* - {@link MJDuplicateRunEntity.CancellationRequested} is re-loaded from the database
|
|
78
|
+
* between outer batches. If set to `true`, processing stops and the run can be resumed later.
|
|
79
|
+
*
|
|
80
|
+
* @param params - The detection request specifying entity, document, list/view/filter, and options
|
|
81
|
+
* @param contextUser - The user context for entity operations and security
|
|
82
|
+
* @returns A response containing all potential duplicate results and an overall status
|
|
58
83
|
*/
|
|
59
84
|
async GetDuplicateRecords(params, contextUser) {
|
|
60
85
|
this.CurrentUser = contextUser;
|
|
@@ -93,17 +118,40 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
93
118
|
response.Status = 'Error';
|
|
94
119
|
return response;
|
|
95
120
|
}
|
|
96
|
-
// Step 6: Process in batches
|
|
121
|
+
// Step 6: Process in batches with resume support
|
|
97
122
|
const batchSize = DEFAULT_BATCH_SIZE;
|
|
98
123
|
const concurrency = this.GetQueryConcurrency(entityDocument);
|
|
99
124
|
const topK = options.TopK ?? DEFAULT_TOP_K;
|
|
100
125
|
const templateParser = EntityDocumentTemplateParser.CreateInstance();
|
|
101
126
|
let totalMatchesFound = 0;
|
|
102
|
-
|
|
127
|
+
// Update run with total count for progress tracking
|
|
128
|
+
duplicateRun.TotalItemCount = recordIDs.length;
|
|
129
|
+
duplicateRun.BatchSize = batchSize;
|
|
130
|
+
await this.SaveEntity(duplicateRun);
|
|
131
|
+
// Resume from last processed offset if available
|
|
132
|
+
const resumeOffset = duplicateRun.LastProcessedOffset ?? 0;
|
|
133
|
+
if (resumeOffset > 0) {
|
|
134
|
+
LogStatus(`Duplicate detection: resuming from offset ${resumeOffset}`);
|
|
135
|
+
}
|
|
136
|
+
for (let offset = resumeOffset; offset < recordIDs.length; offset += batchSize) {
|
|
137
|
+
// Check for cancellation between batches
|
|
138
|
+
await duplicateRun.Load(duplicateRun.ID);
|
|
139
|
+
if (duplicateRun.CancellationRequested) {
|
|
140
|
+
LogStatus(`Duplicate detection: cancellation requested at offset ${offset}`);
|
|
141
|
+
duplicateRun.ProcessingStatus = 'In Progress'; // Will be resumed later
|
|
142
|
+
duplicateRun.EndedAt = new Date();
|
|
143
|
+
await this.SaveEntity(duplicateRun);
|
|
144
|
+
response.Status = 'Success'; // Partial success — can be resumed
|
|
145
|
+
return response;
|
|
146
|
+
}
|
|
103
147
|
const batchIDs = recordIDs.slice(offset, offset + batchSize);
|
|
104
148
|
const batchResults = await this.ProcessBatch(batchIDs, entityInfo, entityDocument, templateParser, duplicateRun.ID, topK, concurrency, options, startTime, recordIDs.length, offset, totalMatchesFound, contextUser);
|
|
105
149
|
response.PotentialDuplicateResult.push(...batchResults.Results);
|
|
106
150
|
totalMatchesFound += batchResults.MatchesFound;
|
|
151
|
+
// Update cursor for resume support
|
|
152
|
+
duplicateRun.ProcessedItemCount = offset + batchIDs.length;
|
|
153
|
+
duplicateRun.LastProcessedOffset = offset + batchSize;
|
|
154
|
+
await this.SaveEntity(duplicateRun);
|
|
107
155
|
}
|
|
108
156
|
// Step 7: Complete the duplicate run
|
|
109
157
|
duplicateRun.ProcessingStatus = 'Complete';
|
|
@@ -156,7 +204,30 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
156
204
|
// Batch Processing
|
|
157
205
|
// ─────────────────────────────────────────────
|
|
158
206
|
/**
|
|
159
|
-
*
|
|
207
|
+
* Process a single outer batch of record IDs through the full duplicate detection pipeline.
|
|
208
|
+
*
|
|
209
|
+
* Steps:
|
|
210
|
+
* 1. Load full record data for template rendering
|
|
211
|
+
* 2. Build source metadata for rich UI display
|
|
212
|
+
* 3. Create DuplicateRunDetail records
|
|
213
|
+
* 4. Sub-batch records into chunks of {@link VECTOR_QUERY_BATCH_SIZE} (default 100)
|
|
214
|
+
* for embedding + vector similarity querying, keeping memory and API payloads bounded
|
|
215
|
+
* 5. Persist match results and update run details
|
|
216
|
+
*
|
|
217
|
+
* @param batchIDs - Primary key values for records in this batch
|
|
218
|
+
* @param entityInfo - Entity metadata
|
|
219
|
+
* @param entityDocument - The entity document driving vectorization
|
|
220
|
+
* @param templateParser - Reusable template parser instance
|
|
221
|
+
* @param duplicateRunID - ID of the parent DuplicateRun record
|
|
222
|
+
* @param topK - Number of nearest neighbors to retrieve per record
|
|
223
|
+
* @param concurrency - Max parallel vector queries within each sub-batch
|
|
224
|
+
* @param options - Detection options (thresholds, callbacks, etc.)
|
|
225
|
+
* @param startTime - Epoch ms for elapsed-time progress reporting
|
|
226
|
+
* @param totalRecords - Total records across all batches (for progress reporting)
|
|
227
|
+
* @param processedSoFar - Records processed before this batch (for progress reporting)
|
|
228
|
+
* @param matchesSoFar - Matches found before this batch (for progress reporting)
|
|
229
|
+
* @param contextUser - The user context for entity operations
|
|
230
|
+
* @returns Combined results and match count for this batch
|
|
160
231
|
*/
|
|
161
232
|
async ProcessBatch(batchIDs, entityInfo, entityDocument, templateParser, duplicateRunID, topK, concurrency, options, startTime, totalRecords, processedSoFar, matchesSoFar, contextUser) {
|
|
162
233
|
// 6a: Load full record data for this batch (needed for template rendering)
|
|
@@ -173,16 +244,24 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
173
244
|
const sourceMetadataMap = this.buildSourceMetadataMap(records, entityInfo);
|
|
174
245
|
// 6c: Create DuplicateRunDetail records for this batch
|
|
175
246
|
const duplicateRunDetails = await this.CreateRunDetailRecords(batchIDs, duplicateRunID, entityInfo, sourceMetadataMap);
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
247
|
+
// 6d: Sub-batch embedding + vector queries in chunks of VECTOR_QUERY_BATCH_SIZE
|
|
248
|
+
// to keep API payload sizes and memory bounded
|
|
249
|
+
const allQueryResults = [];
|
|
250
|
+
const subBatches = chunkArray(records, VECTOR_QUERY_BATCH_SIZE);
|
|
251
|
+
for (let i = 0; i < subBatches.length; i++) {
|
|
252
|
+
const subRecords = subBatches[i];
|
|
253
|
+
// Embed this sub-batch
|
|
254
|
+
this.reportProgress(options, 'Embedding', totalRecords, processedSoFar, matchesSoFar, startTime);
|
|
255
|
+
const subTemplateTexts = await this.GenerateTemplateTexts(templateParser, entityDocument, subRecords, contextUser);
|
|
256
|
+
const subEmbedResult = await this.embedding.EmbedTexts({ texts: subTemplateTexts, model: null });
|
|
257
|
+
// Query vector DB for each record in the sub-batch with concurrency control
|
|
258
|
+
this.reportProgress(options, 'Querying', totalRecords, processedSoFar, matchesSoFar, startTime);
|
|
259
|
+
const subQueryResults = await this.QueryDuplicatesForRecords(subRecords, subEmbedResult.vectors, subTemplateTexts, entityDocument, topK, options, concurrency);
|
|
260
|
+
allQueryResults.push(...subQueryResults);
|
|
261
|
+
}
|
|
183
262
|
// 6e: Persist match results and update run details
|
|
184
263
|
this.reportProgress(options, 'Matching', totalRecords, processedSoFar + records.length, matchesSoFar, startTime);
|
|
185
|
-
const results = await this.PersistMatchResults(
|
|
264
|
+
const results = await this.PersistMatchResults(allQueryResults, duplicateRunDetails, entityDocument, options, startTime);
|
|
186
265
|
const batchMatches = results.reduce((sum, r) => sum + r.Duplicates.length, 0);
|
|
187
266
|
return { Results: results, MatchesFound: batchMatches };
|
|
188
267
|
}
|
|
@@ -264,15 +343,26 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
264
343
|
/**
|
|
265
344
|
* Validate and return an entity document, or null if not found.
|
|
266
345
|
*/
|
|
346
|
+
/**
|
|
347
|
+
* Validates that an entity document exists and is usable. Uses the
|
|
348
|
+
* KnowledgeHubMetadataEngine cache for instant lookups without database queries.
|
|
349
|
+
*/
|
|
267
350
|
async ValidateEntityDocument(entityDocumentID) {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
351
|
+
// Ensure KH engine is initialized (no-op if already loaded)
|
|
352
|
+
await KnowledgeHubMetadataEngine.Instance.Config(false, this.CurrentUser);
|
|
353
|
+
const doc = KnowledgeHubMetadataEngine.Instance.GetEntityDocumentById(entityDocumentID);
|
|
354
|
+
return doc ?? null;
|
|
271
355
|
}
|
|
272
356
|
/**
|
|
273
|
-
*
|
|
357
|
+
* Initializes embedding model, vector DB, and index name providers.
|
|
358
|
+
* Called once per detection run rather than per-record. Uses AIEngine
|
|
359
|
+
* and KnowledgeHubMetadataEngine caches to avoid redundant database queries.
|
|
274
360
|
*/
|
|
275
361
|
async InitializeProviders(entityDocument) {
|
|
362
|
+
// Skip re-initialization if providers are already set for this entity document
|
|
363
|
+
if (this.embedding && this.vectorDB && this.indexName) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
276
366
|
const aiModel = this.GetAIModel(entityDocument.AIModelID);
|
|
277
367
|
const vectorDB = this.GetVectorDatabase(entityDocument.VectorDatabaseID);
|
|
278
368
|
const embeddingAPIKey = GetAIAPIKey(aiModel.DriverClass);
|
|
@@ -292,22 +382,17 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
292
382
|
throw new Error(`Failed to create VectorDB instance for ${vectorDB.ClassKey}`);
|
|
293
383
|
}
|
|
294
384
|
// Resolve the vector index name from the entity document's VectorIndexID
|
|
295
|
-
//
|
|
385
|
+
// Uses KnowledgeHubMetadataEngine cache instead of a RunView query
|
|
296
386
|
if (entityDocument.VectorIndexID) {
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
ExtraFilter: `ID='${entityDocument.VectorIndexID}'`,
|
|
301
|
-
Fields: ['Name'],
|
|
302
|
-
ResultType: 'simple',
|
|
303
|
-
MaxRows: 1
|
|
304
|
-
}, this.CurrentUser);
|
|
305
|
-
if (indexResult.Success && indexResult.Results.length > 0) {
|
|
306
|
-
this.indexName = indexResult.Results[0].Name;
|
|
387
|
+
const vectorIndex = KnowledgeHubMetadataEngine.Instance.GetVectorIndexById(entityDocument.VectorIndexID);
|
|
388
|
+
if (vectorIndex) {
|
|
389
|
+
this.indexName = vectorIndex.Name;
|
|
307
390
|
}
|
|
308
391
|
}
|
|
309
392
|
if (!this.indexName) {
|
|
310
|
-
throw new Error(`No vector index found for entity document "${entityDocument.Name}"
|
|
393
|
+
throw new Error(`No vector index found for entity document "${entityDocument.Name}" (ID: ${entityDocument.ID}). ` +
|
|
394
|
+
`Ensure VectorIndexID is set on the entity document. You can create and assign a Vector Index ` +
|
|
395
|
+
`in the Knowledge Hub > Vector Indexes section.`);
|
|
311
396
|
}
|
|
312
397
|
LogStatus(`Providers initialized: AI Model=${aiModel.DriverClass}, VectorDB=${vectorDB.ClassKey}, Index=${this.indexName}`);
|
|
313
398
|
}
|
|
@@ -500,7 +585,27 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
500
585
|
// ─────────────────────────────────────────────
|
|
501
586
|
/**
|
|
502
587
|
* Query the vector DB for duplicates of each record, with concurrency control.
|
|
503
|
-
*
|
|
588
|
+
*
|
|
589
|
+
* Creates one async task per record, then executes them via {@link RunWithConcurrency}
|
|
590
|
+
* with the specified concurrency limit. Each task embeds and queries a single record
|
|
591
|
+
* against the vector index.
|
|
592
|
+
*
|
|
593
|
+
* Supports hybrid search (vector + keyword) with RRF fusion when the vector DB provider
|
|
594
|
+
* supports it (checked via `SupportsHybridSearch`).
|
|
595
|
+
*
|
|
596
|
+
* Post-query, results are:
|
|
597
|
+
* 1. Parsed from raw vector matches into typed {@link PotentialDuplicate} objects
|
|
598
|
+
* 2. Filtered to remove self-matches (same record as source)
|
|
599
|
+
* 3. Filtered by the potential match threshold (from options or entity document)
|
|
600
|
+
*
|
|
601
|
+
* @param records - The source records to find duplicates for
|
|
602
|
+
* @param vectors - Pre-computed embedding vectors, one per record (same index order)
|
|
603
|
+
* @param templateTexts - Rendered template texts for hybrid keyword search
|
|
604
|
+
* @param entityDocument - The entity document providing thresholds and configuration
|
|
605
|
+
* @param topK - Number of nearest neighbors to retrieve per record
|
|
606
|
+
* @param options - Detection options including threshold overrides
|
|
607
|
+
* @param concurrency - Max parallel vector queries
|
|
608
|
+
* @returns One {@link RecordQueryResult} per input record
|
|
504
609
|
*/
|
|
505
610
|
async QueryDuplicatesForRecords(records, vectors, templateTexts, entityDocument, topK, options, concurrency) {
|
|
506
611
|
const tasks = records.map((record, index) => async () => {
|
|
@@ -581,10 +686,19 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
581
686
|
*/
|
|
582
687
|
buildSourceMetadataMap(records, entityInfo) {
|
|
583
688
|
const metadataMap = new Map();
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
.
|
|
689
|
+
// Combine all IsNameField fields in Sequence order for the display name
|
|
690
|
+
const nameFields = entityInfo.Fields
|
|
691
|
+
.filter(f => f.IsNameField)
|
|
692
|
+
.sort((a, b) => (a.Sequence ?? 9999) - (b.Sequence ?? 9999));
|
|
693
|
+
// Fall back to singular NameField if no IsNameField flags
|
|
694
|
+
if (nameFields.length === 0 && entityInfo.NameField) {
|
|
695
|
+
nameFields.push(entityInfo.NameField);
|
|
696
|
+
}
|
|
697
|
+
// Use DefaultInView fields for display, plus IsNameField fields
|
|
698
|
+
const internalNames = new Set(['ID', '__mj_CreatedAt', '__mj_UpdatedAt']);
|
|
699
|
+
const displayFields = entityInfo.Fields
|
|
700
|
+
.filter(f => f.DefaultInView && !f.IsPrimaryKey && !internalNames.has(f.Name))
|
|
701
|
+
.sort((a, b) => (a.Sequence ?? 9999) - (b.Sequence ?? 9999));
|
|
588
702
|
for (const record of records) {
|
|
589
703
|
const pk = record.PrimaryKey;
|
|
590
704
|
const id = pk.KeyValuePairs.length === 1 ? String(pk.KeyValuePairs[0].Value) : pk.Values();
|
|
@@ -594,17 +708,27 @@ export class DuplicateRecordDetector extends VectorBase {
|
|
|
594
708
|
if (entityInfo.Icon) {
|
|
595
709
|
meta['EntityIcon'] = entityInfo.Icon;
|
|
596
710
|
}
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
711
|
+
// Store combined name from all IsNameField fields
|
|
712
|
+
const nameParts = nameFields
|
|
713
|
+
.map(f => record.Get(f.Name))
|
|
714
|
+
.filter(v => v != null && String(v).trim() !== '')
|
|
715
|
+
.map(v => String(v));
|
|
716
|
+
if (nameParts.length > 0) {
|
|
717
|
+
meta['Name'] = nameParts.join(' ');
|
|
718
|
+
}
|
|
719
|
+
// Store all IsNameField values individually for downstream resolution
|
|
720
|
+
for (const nf of nameFields) {
|
|
721
|
+
const val = record.Get(nf.Name);
|
|
722
|
+
if (val != null)
|
|
723
|
+
meta[nf.Name] = String(val);
|
|
601
724
|
}
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
725
|
+
// Store DefaultInView fields for rich display
|
|
726
|
+
for (const field of displayFields) {
|
|
727
|
+
if (!meta[field.Name]) { // Don't overwrite name fields
|
|
728
|
+
const val = record.Get(field.Name);
|
|
605
729
|
if (val != null) {
|
|
606
730
|
const str = String(val);
|
|
607
|
-
meta[
|
|
731
|
+
meta[field.Name] = str.length > 200 ? str.substring(0, 197) + '...' : str;
|
|
608
732
|
}
|
|
609
733
|
}
|
|
610
734
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicateRecordDetector.js","sourceRoot":"","sources":["../src/duplicateRecordDetector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"duplicateRecordDetector.js","sourceRoot":"","sources":["../src/duplicateRecordDetector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ai-vector-dupe",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.25.0",
|
|
5
5
|
"description": "MemberJunction: AI Vector/Entity Sync Package - Handles synchronization between Vector DB and MJ CDP Data",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
"author": "MemberJunction.com",
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@memberjunction/ai": "5.
|
|
21
|
-
"@memberjunction/ai-vectordb": "5.
|
|
22
|
-
"@memberjunction/ai-vectors": "5.
|
|
23
|
-
"@memberjunction/templates": "5.
|
|
24
|
-
"@memberjunction/ai-vector-sync": "5.
|
|
25
|
-
"@memberjunction/aiengine": "5.
|
|
26
|
-
"@memberjunction/core": "5.
|
|
27
|
-
"@memberjunction/global": "5.
|
|
28
|
-
"@memberjunction/core-entities": "5.
|
|
20
|
+
"@memberjunction/ai": "5.25.0",
|
|
21
|
+
"@memberjunction/ai-vectordb": "5.25.0",
|
|
22
|
+
"@memberjunction/ai-vectors": "5.25.0",
|
|
23
|
+
"@memberjunction/templates": "5.25.0",
|
|
24
|
+
"@memberjunction/ai-vector-sync": "5.25.0",
|
|
25
|
+
"@memberjunction/aiengine": "5.25.0",
|
|
26
|
+
"@memberjunction/core": "5.25.0",
|
|
27
|
+
"@memberjunction/global": "5.25.0",
|
|
28
|
+
"@memberjunction/core-entities": "5.25.0",
|
|
29
29
|
"dotenv": "^17.2.4"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|